
unit setupapi;

interface

uses Windows, Commctrl;
{
  Automatically converted by H2Pas 1.0.0 from C:\TEMP\setupapi.tmp.h
  The following command line parameters were used:
    -e
    -p
    -D
    -w
    -o
    C:\TEMP\setupapi.pas
    C:\TEMP\setupapi.tmp.h
}

  const
    External_library='setupapi.dll'; {Setup as you need}

  { Pointers to basic pascal types, inserted by h2pas conversion program.}
  Type
    PLongint  = ^Longint;
    PSmallInt = ^SmallInt;
    PByte     = ^Byte;
    PWord     = ^Word;
    PDWord    = ^DWord;
    PDouble   = ^Double;
    PWSTR     = PWideChar;
    PPWSTR    = ^PWideChar;
    PPASTR    = ^PAnsiChar;
    PPSTR     = ^PChar;
    PHICON    = ^HICON;
    PPBYTE    = ^PBYTE;

    {
  Type
  P_CABINET_INFO_A  = ^_CABINET_INFO_A;
  P_CABINET_INFO_W  = ^_CABINET_INFO_W;
  P_COINSTALLER_CONTEXT_DATA  = ^_COINSTALLER_CONTEXT_DATA;
  P_FILE_IN_CABINET_INFO_A  = ^_FILE_IN_CABINET_INFO_A;
  P_FILE_IN_CABINET_INFO_W  = ^_FILE_IN_CABINET_INFO_W;
  P_FILEPATHS_A  = ^_FILEPATHS_A;
  P_FILEPATHS_W  = ^_FILEPATHS_W;
  P_INFCONTEXT  = ^_INFCONTEXT;
  P_SOURCE_MEDIA_A  = ^_SOURCE_MEDIA_A;
  P_SOURCE_MEDIA_W  = ^_SOURCE_MEDIA_W;
  P_SP_ALTPLATFORM_INFO  = ^_SP_ALTPLATFORM_INFO;
  P_SP_BACKUP_QUEUE_PARAMS_A  = ^_SP_BACKUP_QUEUE_PARAMS_A;
  P_SP_BACKUP_QUEUE_PARAMS_W  = ^_SP_BACKUP_QUEUE_PARAMS_W;
  P_SP_CLASSIMAGELIST_DATA  = ^_SP_CLASSIMAGELIST_DATA;
  P_SP_CLASSINSTALL_HEADER  = ^_SP_CLASSINSTALL_HEADER;
  P_SP_DETECTDEVICE_PARAMS  = ^_SP_DETECTDEVICE_PARAMS;
  P_SP_DEVICE_INTERFACE_DATA  = ^_SP_DEVICE_INTERFACE_DATA;
  P_SP_DEVICE_INTERFACE_DETAIL_DATA_A  = ^_SP_DEVICE_INTERFACE_DETAIL_DATA_A;
  P_SP_DEVICE_INTERFACE_DETAIL_DATA_W  = ^_SP_DEVICE_INTERFACE_DETAIL_DATA_W;
  P_SP_DEVINFO_DATA  = ^_SP_DEVINFO_DATA;
  P_SP_DEVINFO_LIST_DETAIL_DATA_A  = ^_SP_DEVINFO_LIST_DETAIL_DATA_A;
  P_SP_DEVINFO_LIST_DETAIL_DATA_W  = ^_SP_DEVINFO_LIST_DETAIL_DATA_W;
  P_SP_DEVINSTALL_PARAMS_A  = ^_SP_DEVINSTALL_PARAMS_A;
  P_SP_DEVINSTALL_PARAMS_W  = ^_SP_DEVINSTALL_PARAMS_W;
  P_SP_DRVINFO_DATA_V1_A  = ^_SP_DRVINFO_DATA_V1_A;
  P_SP_DRVINFO_DATA_V1_W  = ^_SP_DRVINFO_DATA_V1_W;
  P_SP_DRVINFO_DATA_V2_A  = ^_SP_DRVINFO_DATA_V2_A;
  P_SP_DRVINFO_DATA_V2_W  = ^_SP_DRVINFO_DATA_V2_W;
  P_SP_DRVINFO_DETAIL_DATA_A  = ^_SP_DRVINFO_DETAIL_DATA_A;
  P_SP_DRVINFO_DETAIL_DATA_W  = ^_SP_DRVINFO_DETAIL_DATA_W;
  P_SP_DRVINSTALL_PARAMS  = ^_SP_DRVINSTALL_PARAMS;
  P_SP_ENABLECLASS_PARAMS  = ^_SP_ENABLECLASS_PARAMS;
  P_SP_FILE_COPY_PARAMS_A  = ^_SP_FILE_COPY_PARAMS_A;
  P_SP_FILE_COPY_PARAMS_W  = ^_SP_FILE_COPY_PARAMS_W;
  P_SP_INF_INFORMATION  = ^_SP_INF_INFORMATION;
  P_SP_INSTALLWIZARD_DATA  = ^_SP_INSTALLWIZARD_DATA;
  P_SP_MOVEDEV_PARAMS  = ^_SP_MOVEDEV_PARAMS;
  P_SP_NEWDEVICEWIZARD_DATA  = ^_SP_NEWDEVICEWIZARD_DATA;
  P_SP_ORIGINAL_FILE_INFO_A  = ^_SP_ORIGINAL_FILE_INFO_A;
  P_SP_ORIGINAL_FILE_INFO_W  = ^_SP_ORIGINAL_FILE_INFO_W;
  P_SP_POWERMESSAGEWAKE_PARAMS_A  = ^_SP_POWERMESSAGEWAKE_PARAMS_A;
  P_SP_POWERMESSAGEWAKE_PARAMS_W  = ^_SP_POWERMESSAGEWAKE_PARAMS_W;
  P_SP_PROPCHANGE_PARAMS  = ^_SP_PROPCHANGE_PARAMS;
  P_SP_PROPSHEETPAGE_REQUEST  = ^_SP_PROPSHEETPAGE_REQUEST;
  P_SP_REGISTER_CONTROL_STATUSA  = ^_SP_REGISTER_CONTROL_STATUSA;
  P_SP_REGISTER_CONTROL_STATUSW  = ^_SP_REGISTER_CONTROL_STATUSW;
  P_SP_REMOVEDEVICE_PARAMS  = ^_SP_REMOVEDEVICE_PARAMS;
  P_SP_SELECTDEVICE_PARAMS_A  = ^_SP_SELECTDEVICE_PARAMS_A;
  P_SP_SELECTDEVICE_PARAMS_W  = ^_SP_SELECTDEVICE_PARAMS_W;
  P_SP_TROUBLESHOOTER_PARAMS_A  = ^_SP_TROUBLESHOOTER_PARAMS_A;
  P_SP_TROUBLESHOOTER_PARAMS_W  = ^_SP_TROUBLESHOOTER_PARAMS_W;
  P_SP_UNREMOVEDEVICE_PARAMS  = ^_SP_UNREMOVEDEVICE_PARAMS;
  PCABINET_INFO  = ^CABINET_INFO;
  PCABINET_INFO_A  = ^CABINET_INFO_A;
  PCABINET_INFO_W  = ^CABINET_INFO_W;
  PCOINSTALLER_CONTEXT_DATA  = ^COINSTALLER_CONTEXT_DATA;
  PDI_FUNCTION  = ^DI_FUNCTION;
  PFILE_IN_CABINET_INFO  = ^FILE_IN_CABINET_INFO;
  PFILE_IN_CABINET_INFO_A  = ^FILE_IN_CABINET_INFO_A;
  PFILE_IN_CABINET_INFO_W  = ^FILE_IN_CABINET_INFO_W;
  PFILEPATHS  = ^FILEPATHS;
  PFILEPATHS_A  = ^FILEPATHS_A;
  PFILEPATHS_W  = ^FILEPATHS_W;
  PGUID  = ^GUID;
  PHDEVINFO  = ^HDEVINFO;
  PHDSKSPC  = ^HDSKSPC;
  PHICON  = ^HICON;
  PHINF  = ^HINF;
  PHSPFILELOG  = ^HSPFILELOG;
  PHSPFILEQ  = ^HSPFILEQ;
  PHSTRING_TABLE  = ^HSTRING_TABLE;
  PINFCONTEXT  = ^INFCONTEXT;
  PLONGLONG  = ^LONGLONG;
  PPBYTE  = ^PBYTE;
  PPCABINET_INFO  = ^PCABINET_INFO;
  PPCABINET_INFO_A  = ^PCABINET_INFO_A;
  PPCABINET_INFO_W  = ^PCABINET_INFO_W;
  PPCOINSTALLER_CONTEXT_DATA  = ^PCOINSTALLER_CONTEXT_DATA;
  PPCSTR  = ^PCSTR;
  PPCWSTR  = ^PCWSTR;
  PPFILE_IN_CABINET_INFO  = ^PFILE_IN_CABINET_INFO;
  PPFILE_IN_CABINET_INFO_A  = ^PFILE_IN_CABINET_INFO_A;
  PPFILE_IN_CABINET_INFO_W  = ^PFILE_IN_CABINET_INFO_W;
  PPFILEPATHS  = ^PFILEPATHS;
  PPFILEPATHS_A  = ^PFILEPATHS_A;
  PPFILEPATHS_W  = ^PFILEPATHS_W;
  PPINFCONTEXT  = ^PINFCONTEXT;
  PPSECURITY_DESCRIPTOR  = ^PSECURITY_DESCRIPTOR;
  PPSOURCE_MEDIA  = ^PSOURCE_MEDIA;
  PPSOURCE_MEDIA_A  = ^PSOURCE_MEDIA_A;
  PPSOURCE_MEDIA_W  = ^PSOURCE_MEDIA_W;
  PPSP_ADDPROPERTYPAGE_DATA  = ^PSP_ADDPROPERTYPAGE_DATA;
  PPSP_ALTPLATFORM_INFO  = ^PSP_ALTPLATFORM_INFO;
  PPSP_BACKUP_QUEUE_PARAMS  = ^PSP_BACKUP_QUEUE_PARAMS;
  PPSP_BACKUP_QUEUE_PARAMS_A  = ^PSP_BACKUP_QUEUE_PARAMS_A;
  PPSP_BACKUP_QUEUE_PARAMS_W  = ^PSP_BACKUP_QUEUE_PARAMS_W;
  PPSP_CLASSIMAGELIST_DATA  = ^PSP_CLASSIMAGELIST_DATA;
  PPSP_CLASSINSTALL_HEADER  = ^PSP_CLASSINSTALL_HEADER;
  PPSP_DETECTDEVICE_PARAMS  = ^PSP_DETECTDEVICE_PARAMS;
  PPSP_DEVICE_INTERFACE_DATA  = ^PSP_DEVICE_INTERFACE_DATA;
  PPSP_DEVICE_INTERFACE_DETAIL_DATA  = ^PSP_DEVICE_INTERFACE_DETAIL_DATA;
  PPSP_DEVICE_INTERFACE_DETAIL_DATA_A  = ^PSP_DEVICE_INTERFACE_DETAIL_DATA_A;
  PPSP_DEVICE_INTERFACE_DETAIL_DATA_W  = ^PSP_DEVICE_INTERFACE_DETAIL_DATA_W;
  PPSP_DEVINFO_DATA  = ^PSP_DEVINFO_DATA;
  PPSP_DEVINFO_LIST_DETAIL_DATA  = ^PSP_DEVINFO_LIST_DETAIL_DATA;
  PPSP_DEVINFO_LIST_DETAIL_DATA_A  = ^PSP_DEVINFO_LIST_DETAIL_DATA_A;
  PPSP_DEVINFO_LIST_DETAIL_DATA_W  = ^PSP_DEVINFO_LIST_DETAIL_DATA_W;
  PPSP_DEVINSTALL_PARAMS  = ^PSP_DEVINSTALL_PARAMS;
  PPSP_DEVINSTALL_PARAMS_A  = ^PSP_DEVINSTALL_PARAMS_A;
  PPSP_DEVINSTALL_PARAMS_W  = ^PSP_DEVINSTALL_PARAMS_W;
  PPSP_DRVINFO_DATA  = ^PSP_DRVINFO_DATA;
  PPSP_DRVINFO_DATA_A  = ^PSP_DRVINFO_DATA_A;
  PPSP_DRVINFO_DATA_V1  = ^PSP_DRVINFO_DATA_V1;
  PPSP_DRVINFO_DATA_V1_A  = ^PSP_DRVINFO_DATA_V1_A;
  PPSP_DRVINFO_DATA_V1_W  = ^PSP_DRVINFO_DATA_V1_W;
  PPSP_DRVINFO_DATA_V2  = ^PSP_DRVINFO_DATA_V2;
  PPSP_DRVINFO_DATA_V2_A  = ^PSP_DRVINFO_DATA_V2_A;
  PPSP_DRVINFO_DATA_V2_W  = ^PSP_DRVINFO_DATA_V2_W;
  PPSP_DRVINFO_DATA_W  = ^PSP_DRVINFO_DATA_W;
  PPSP_DRVINFO_DETAIL_DATA  = ^PSP_DRVINFO_DETAIL_DATA;
  PPSP_DRVINFO_DETAIL_DATA_A  = ^PSP_DRVINFO_DETAIL_DATA_A;
  PPSP_DRVINFO_DETAIL_DATA_W  = ^PSP_DRVINFO_DETAIL_DATA_W;
  PPSP_DRVINSTALL_PARAMS  = ^PSP_DRVINSTALL_PARAMS;
  PPSP_ENABLECLASS_PARAMS  = ^PSP_ENABLECLASS_PARAMS;
  PPSP_FILE_COPY_PARAMS  = ^PSP_FILE_COPY_PARAMS;
  PPSP_FILE_COPY_PARAMS_A  = ^PSP_FILE_COPY_PARAMS_A;
  PPSP_FILE_COPY_PARAMS_W  = ^PSP_FILE_COPY_PARAMS_W;
  PPSP_INF_INFORMATION  = ^PSP_INF_INFORMATION;
  PPSP_INSTALLWIZARD_DATA  = ^PSP_INSTALLWIZARD_DATA;
  PPSP_INTERFACE_DEVICE_DATA  = ^PSP_INTERFACE_DEVICE_DATA;
  PPSP_INTERFACE_DEVICE_DETAIL_DATA  = ^PSP_INTERFACE_DEVICE_DETAIL_DATA;
  PPSP_INTERFACE_DEVICE_DETAIL_DATA_A  = ^PSP_INTERFACE_DEVICE_DETAIL_DATA_A;
  PPSP_INTERFACE_DEVICE_DETAIL_DATA_W  = ^PSP_INTERFACE_DEVICE_DETAIL_DATA_W;
  PPSP_MOVEDEV_PARAMS  = ^PSP_MOVEDEV_PARAMS;
  PPSP_NEWDEVICEWIZARD_DATA  = ^PSP_NEWDEVICEWIZARD_DATA;
  PPSP_ORIGINAL_FILE_INFO  = ^PSP_ORIGINAL_FILE_INFO;
  PPSP_ORIGINAL_FILE_INFO_A  = ^PSP_ORIGINAL_FILE_INFO_A;
  PPSP_ORIGINAL_FILE_INFO_W  = ^PSP_ORIGINAL_FILE_INFO_W;
  PPSP_POWERMESSAGEWAKE_PARAMS  = ^PSP_POWERMESSAGEWAKE_PARAMS;
  PPSP_POWERMESSAGEWAKE_PARAMS_A  = ^PSP_POWERMESSAGEWAKE_PARAMS_A;
  PPSP_POWERMESSAGEWAKE_PARAMS_W  = ^PSP_POWERMESSAGEWAKE_PARAMS_W;
  PPSP_PROPCHANGE_PARAMS  = ^PSP_PROPCHANGE_PARAMS;
  PPSP_PROPSHEETPAGE_REQUEST  = ^PSP_PROPSHEETPAGE_REQUEST;
  PPSP_REGISTER_CONTROL_STATUS  = ^PSP_REGISTER_CONTROL_STATUS;
  PPSP_REGISTER_CONTROL_STATUSA  = ^PSP_REGISTER_CONTROL_STATUSA;
  PPSP_REGISTER_CONTROL_STATUSW  = ^PSP_REGISTER_CONTROL_STATUSW;
  PPSP_REMOVEDEVICE_PARAMS  = ^PSP_REMOVEDEVICE_PARAMS;
  PPSP_SELECTDEVICE_PARAMS  = ^PSP_SELECTDEVICE_PARAMS;
  PPSP_SELECTDEVICE_PARAMS_A  = ^PSP_SELECTDEVICE_PARAMS_A;
  PPSP_SELECTDEVICE_PARAMS_W  = ^PSP_SELECTDEVICE_PARAMS_W;
  PPSP_TROUBLESHOOTER_PARAMS  = ^PSP_TROUBLESHOOTER_PARAMS;
  PPSP_TROUBLESHOOTER_PARAMS_A  = ^PSP_TROUBLESHOOTER_PARAMS_A;
  PPSP_TROUBLESHOOTER_PARAMS_W  = ^PSP_TROUBLESHOOTER_PARAMS_W;
  PPSP_UNREMOVEDEVICE_PARAMS  = ^PSP_UNREMOVEDEVICE_PARAMS;
  PPSTR  = ^PSTR;
  PPVOID  = ^PVOID;
  PPWSTR  = ^PWSTR;
  PSetupFileLogInfo  = ^SetupFileLogInfo;
  PSOURCE_MEDIA  = ^SOURCE_MEDIA;
  PSOURCE_MEDIA_A  = ^SOURCE_MEDIA_A;
  PSOURCE_MEDIA_W  = ^SOURCE_MEDIA_W;
  PSP_ADDPROPERTYPAGE_DATA  = ^SP_ADDPROPERTYPAGE_DATA;
  PSP_ALTPLATFORM_INFO  = ^SP_ALTPLATFORM_INFO;
  PSP_BACKUP_QUEUE_PARAMS  = ^SP_BACKUP_QUEUE_PARAMS;
  PSP_BACKUP_QUEUE_PARAMS_A  = ^SP_BACKUP_QUEUE_PARAMS_A;
  PSP_BACKUP_QUEUE_PARAMS_W  = ^SP_BACKUP_QUEUE_PARAMS_W;
  PSP_CLASSIMAGELIST_DATA  = ^SP_CLASSIMAGELIST_DATA;
  PSP_CLASSINSTALL_HEADER  = ^SP_CLASSINSTALL_HEADER;
  PSP_DETECTDEVICE_PARAMS  = ^SP_DETECTDEVICE_PARAMS;
  PSP_DEVICE_INTERFACE_DATA  = ^SP_DEVICE_INTERFACE_DATA;
  PSP_DEVICE_INTERFACE_DETAIL_DATA  = ^SP_DEVICE_INTERFACE_DETAIL_DATA;
  PSP_DEVICE_INTERFACE_DETAIL_DATA_A  = ^SP_DEVICE_INTERFACE_DETAIL_DATA_A;
  PSP_DEVICE_INTERFACE_DETAIL_DATA_W  = ^SP_DEVICE_INTERFACE_DETAIL_DATA_W;
  PSP_DEVINFO_DATA  = ^SP_DEVINFO_DATA;
  PSP_DEVINFO_LIST_DETAIL_DATA  = ^SP_DEVINFO_LIST_DETAIL_DATA;
  PSP_DEVINFO_LIST_DETAIL_DATA_A  = ^SP_DEVINFO_LIST_DETAIL_DATA_A;
  PSP_DEVINFO_LIST_DETAIL_DATA_W  = ^SP_DEVINFO_LIST_DETAIL_DATA_W;
  PSP_DEVINSTALL_PARAMS  = ^SP_DEVINSTALL_PARAMS;
  PSP_DEVINSTALL_PARAMS_A  = ^SP_DEVINSTALL_PARAMS_A;
  PSP_DEVINSTALL_PARAMS_W  = ^SP_DEVINSTALL_PARAMS_W;
  PSP_DRVINFO_DATA  = ^SP_DRVINFO_DATA;
  PSP_DRVINFO_DATA_A  = ^SP_DRVINFO_DATA_A;
  PSP_DRVINFO_DATA_V1  = ^SP_DRVINFO_DATA_V1;
  PSP_DRVINFO_DATA_V1_A  = ^SP_DRVINFO_DATA_V1_A;
  PSP_DRVINFO_DATA_V1_W  = ^SP_DRVINFO_DATA_V1_W;
  PSP_DRVINFO_DATA_V2  = ^SP_DRVINFO_DATA_V2;
  PSP_DRVINFO_DATA_V2_A  = ^SP_DRVINFO_DATA_V2_A;
  PSP_DRVINFO_DATA_V2_W  = ^SP_DRVINFO_DATA_V2_W;
  PSP_DRVINFO_DATA_W  = ^SP_DRVINFO_DATA_W;
  PSP_DRVINFO_DETAIL_DATA  = ^SP_DRVINFO_DETAIL_DATA;
  PSP_DRVINFO_DETAIL_DATA_A  = ^SP_DRVINFO_DETAIL_DATA_A;
  PSP_DRVINFO_DETAIL_DATA_W  = ^SP_DRVINFO_DETAIL_DATA_W;
  PSP_DRVINSTALL_PARAMS  = ^SP_DRVINSTALL_PARAMS;
  PSP_ENABLECLASS_PARAMS  = ^SP_ENABLECLASS_PARAMS;
  PSP_FILE_COPY_PARAMS  = ^SP_FILE_COPY_PARAMS;
  PSP_FILE_COPY_PARAMS_A  = ^SP_FILE_COPY_PARAMS_A;
  PSP_FILE_COPY_PARAMS_W  = ^SP_FILE_COPY_PARAMS_W;
  PSP_INF_INFORMATION  = ^SP_INF_INFORMATION;
  PSP_INSTALLWIZARD_DATA  = ^SP_INSTALLWIZARD_DATA;
  PSP_INTERFACE_DEVICE_DATA  = ^SP_INTERFACE_DEVICE_DATA;
  PSP_INTERFACE_DEVICE_DETAIL_DATA  = ^SP_INTERFACE_DEVICE_DETAIL_DATA;
  PSP_INTERFACE_DEVICE_DETAIL_DATA_A  = ^SP_INTERFACE_DEVICE_DETAIL_DATA_A;
  PSP_INTERFACE_DEVICE_DETAIL_DATA_W  = ^SP_INTERFACE_DEVICE_DETAIL_DATA_W;
  PSP_MOVEDEV_PARAMS  = ^SP_MOVEDEV_PARAMS;
  PSP_NEWDEVICEWIZARD_DATA  = ^SP_NEWDEVICEWIZARD_DATA;
  PSP_ORIGINAL_FILE_INFO  = ^SP_ORIGINAL_FILE_INFO;
  PSP_ORIGINAL_FILE_INFO_A  = ^SP_ORIGINAL_FILE_INFO_A;
  PSP_ORIGINAL_FILE_INFO_W  = ^SP_ORIGINAL_FILE_INFO_W;
  PSP_POWERMESSAGEWAKE_PARAMS  = ^SP_POWERMESSAGEWAKE_PARAMS;
  PSP_POWERMESSAGEWAKE_PARAMS_A  = ^SP_POWERMESSAGEWAKE_PARAMS_A;
  PSP_POWERMESSAGEWAKE_PARAMS_W  = ^SP_POWERMESSAGEWAKE_PARAMS_W;
  PSP_PROPCHANGE_PARAMS  = ^SP_PROPCHANGE_PARAMS;
  PSP_PROPSHEETPAGE_REQUEST  = ^SP_PROPSHEETPAGE_REQUEST;
  PSP_REGISTER_CONTROL_STATUS  = ^SP_REGISTER_CONTROL_STATUS;
  PSP_REGISTER_CONTROL_STATUSA  = ^SP_REGISTER_CONTROL_STATUSA;
  PSP_REGISTER_CONTROL_STATUSW  = ^SP_REGISTER_CONTROL_STATUSW;
  PSP_REMOVEDEVICE_PARAMS  = ^SP_REMOVEDEVICE_PARAMS;
  PSP_SELECTDEVICE_PARAMS  = ^SP_SELECTDEVICE_PARAMS;
  PSP_SELECTDEVICE_PARAMS_A  = ^SP_SELECTDEVICE_PARAMS_A;
  PSP_SELECTDEVICE_PARAMS_W  = ^SP_SELECTDEVICE_PARAMS_W;
  PSP_TROUBLESHOOTER_PARAMS  = ^SP_TROUBLESHOOTER_PARAMS;
  PSP_TROUBLESHOOTER_PARAMS_A  = ^SP_TROUBLESHOOTER_PARAMS_A;
  PSP_TROUBLESHOOTER_PARAMS_W  = ^SP_TROUBLESHOOTER_PARAMS_W;
  PSP_UNREMOVEDEVICE_PARAMS  = ^SP_UNREMOVEDEVICE_PARAMS;
  }
{$IFDEF FPC}
  {$PACKRECORDS C}
  {$PACKSET 1}
  {$mode objfpc}
  {$inline on}
  {$calling stdcall}
{$ENDIF}


{$ifndef _SETUPAPI_H_}
{$define _SETUPAPI_H_}  
{$ifndef _SETUPAPI_}

{$else}
{$define WINSETUPAPI}  
{$endif}

  const
     LINE_LEN = 256;
     MAX_PATH = LINE_LEN;
     MAX_INF_STRING_LENGTH = 4096;
     MAX_TITLE_LEN = 60;     
     MAX_INSTRUCTION_LEN = 256;     
     MAX_LABEL_LEN = 30;     
     MAX_SERVICE_NAME_LEN = 256;     
     MAX_SUBTITLE_LEN = 256;     
     SP_MAX_MACHINENAME_LENGTH = MAX_PATH+3;     
     COPYFLG_WARN_IF_SKIP = $00000001;     
     COPYFLG_NOSKIP = $00000002;     
     COPYFLG_NOVERSIONCHECK = $00000004;     
     COPYFLG_FORCE_FILE_IN_USE = $00000008;     
     COPYFLG_NO_OVERWRITE = $00000010;     
     COPYFLG_NO_VERSION_DIALOG = $00000020;     
     COPYFLG_OVERWRITE_OLDER_ONLY = $00000040;     
     COPYFLG_REPLACEONLY = $00000400;     
     COPYFLG_NODECOMP = $00000800;     
     COPYFLG_REPLACE_BOOT_FILE = $00001000;     
     COPYFLG_NOPRUNE = $00002000;     
     DELFLG_IN_USE = $00000001;     
     DELFLG_IN_USE1 = $00010000;     
     DI_REMOVEDEVICE_GLOBAL = $00000001;     
     DI_REMOVEDEVICE_CONFIGSPECIFIC = $00000002;     
     DI_UNREMOVEDEVICE_CONFIGSPECIFIC = $00000002;     
     DI_SHOWOEM = $00000001;     
     DI_SHOWCOMPAT = $00000002;     
     DI_SHOWCLASS = $00000004;     
     DI_SHOWALL = $00000007;     
     DI_NOVCP = $00000008;     
     DI_DIDCOMPAT = $00000010;     
     DI_DIDCLASS = $00000020;     
     DI_AUTOASSIGNRES = $00000040;     
     DI_NEEDRESTART = $00000080;     
     DI_NEEDREBOOT = $00000100;     
     DI_NOBROWSE = $00000200;     
     DI_MULTMFGS = $00000400;     
     DI_DISABLED = $00000800;     
     DI_GENERALPAGE_ADDED = $00001000;     
     DI_RESOURCEPAGE_ADDED = $00002000;     
     DI_PROPERTIES_CHANGE = $00004000;     
     DI_INF_IS_SORTED = $00008000;     
     DI_ENUMSINGLEINF = $00010000;     
     DI_DONOTCALLCONFIGMG = $00020000;     
     DI_INSTALLDISABLED = $00040000;     
     DI_COMPAT_FROM_CLASS = $00080000;     
     DI_CLASSINSTALLPARAMS = $00100000;     
     DI_NODI_DEFAULTACTION = $00200000;     
     DI_QUIETINSTALL = $00800000;     
     DI_NOFILECOPY = $01000000;     
     DI_FORCECOPY = $02000000;     
     DI_DRIVERPAGE_ADDED = $04000000;     
     DI_USECI_SELECTSTRINGS = $08000000;     
     DI_OVERRIDE_INFFLAGS = $10000000;     
     DI_PROPS_NOCHANGEUSAGE = $20000000;     
     DI_NOSELECTICONS = $40000000;     
     DI_NOWRITE_IDS = $80000000;     
     DI_FLAGSEX_USEOLDINFSEARCH = $00000001;     
     DI_FLAGSEX_AUTOSELECTRANK0 = $00000002;     
     DI_FLAGSEX_CI_FAILED = $00000004;     
     DI_FLAGSEX_DIDINFOLIST = $00000010;     
     DI_FLAGSEX_DIDCOMPATINFO = $00000020;     
     DI_FLAGSEX_FILTERCLASSES = $00000040;     
     DI_FLAGSEX_SETFAILEDINSTALL = $00000080;     
     DI_FLAGSEX_DEVICECHANGE = $00000100;     
     DI_FLAGSEX_ALWAYSWRITEIDS = $00000200;     
     DI_FLAGSEX_PROPCHANGE_PENDING = $00000400;     
     DI_FLAGSEX_ALLOWEXCLUDEDDRVS = $00000800;     
     DI_FLAGSEX_NOUIONQUERYREMOVE = $00001000;     
     DI_FLAGSEX_USECLASSFORCOMPAT = $00002000;     
     DI_FLAGSEX_OLDINF_IN_CLASSLIST = $00004000;     
     DI_FLAGSEX_NO_DRVREG_MODIFY = $00008000;     
     DI_FLAGSEX_IN_SYSTEM_SETUP = $00010000;     
     DI_FLAGSEX_INET_DRIVER = $00020000;     
     DI_FLAGSEX_APPENDDRIVERLIST = $00040000;     
     DI_FLAGSEX_PREINSTALLBACKUP = $00080000;     
     DI_FLAGSEX_BACKUPONREPLACE = $00100000;     
     DI_FLAGSEX_DRIVERLIST_FROM_URL = $00200000;     
     DI_FLAGSEX_RESERVED1 = $00400000;     
     DI_FLAGSEX_EXCLUDE_OLD_INET_DRIVERS = $00800000;     
     DI_FLAGSEX_POWERPAGE_ADDED = $01000000;     

  const
     DIBCI_NOINSTALLCLASS = $00000001;     
     DIBCI_NODISPLAYCLASS = $00000002;     
     DICD_GENERATE_ID = $00000001;     
     DICD_INHERIT_CLASSDRVS = $00000002;     
     DICS_ENABLE = 1;     
     DICS_FLAG_GLOBAL = 1;     
     DICS_DISABLE = 2;     
     DICS_FLAG_CONFIGSPECIFIC = 2;     
     DICS_PROPCHANGE = 3;     
     DICS_START = 4;     
     DICS_FLAG_CONFIGGENERAL = 4;     
     DICS_STOP = 5;     
     DIF_SELECTDEVICE = 1;     
     DIF_INSTALLDEVICE = 2;     
     DIF_ASSIGNRESOURCES = 3;     
     DIF_PROPERTIES = 4;     
     DIF_REMOVE = 5;     
     DIF_FIRSTTIMESETUP = 6;     
     DIF_FOUNDDEVICE = 7;     
     DIF_SELECTCLASSDRIVERS = 8;     
     DIF_VALIDATECLASSDRIVERS = 9;     
     DIF_INSTALLCLASSDRIVERS = 10;     
     DIF_CALCDISKSPACE = 11;     
     DIF_DESTROYPRIVATEDATA = 12;     
     DIF_VALIDATEDRIVER = 13;     
     DIF_MOVEDEVICE = 14;     
     DIF_DETECT = 15;     
     DIF_INSTALLWIZARD = 16;     
     DIF_DESTROYWIZARDDATA = 17;     
     DIF_PROPERTYCHANGE = 18;     
     DIF_ENABLECLASS = 19;     
     DIF_DETECTVERIFY = 20;     
     DIF_INSTALLDEVICEFILES = 21;     
     DIF_UNREMOVE = 22;     
     DIF_SELECTBESTCOMPATDRV = 23;     
     DIF_ALLOW_INSTALL = 24;     
     DIF_REGISTERDEVICE = 25;     
     DIF_NEWDEVICEWIZARD_PRESELECT = 26;     
     DIF_NEWDEVICEWIZARD_SELECT = 27;     
     DIF_NEWDEVICEWIZARD_PREANALYZE = 28;     
     DIF_NEWDEVICEWIZARD_POSTANALYZE = 29;     
     DIF_NEWDEVICEWIZARD_FINISHINSTALL = 30;     
     DIF_UNUSED1 = 31;     
     DIF_INSTALLINTERFACES = 32;     
     DIF_DETECTCANCEL = 33;     
     DIF_REGISTER_COINSTALLERS = 34;     
     DIF_ADDPROPERTYPAGE_ADVANCED = 35;     
     DIF_ADDPROPERTYPAGE_BASIC = 36;     
     DIF_RESERVED1 = 37;     
     DIF_TROUBLESHOOTER = 38;     
     DIF_POWERMESSAGEWAKE = 39;     
     DIF_ADDREMOTEPROPERTYPAGE_ADVANCED = 40;     
     DIF_UPDATEDRIVER_UI = 41;     
     DIF_RESERVED2 = 42;     
     DIGCDP_FLAG_BASIC = $00000001;     
     DIGCDP_FLAG_ADVANCED = $00000002;     
  const
     DIGCF_DEFAULT = $00000001;     
     DIGCF_PRESENT = $00000002;     
     DIGCF_ALLCLASSES = $00000004;     
     DIGCF_PROFILE = $00000008;     
     DIGCF_DEVICEINTERFACE = $00000010;     
     DIGCF_INTERFACEDEVICE = $00000010;     
     DIOCR_INSTALLER = $00000001;     
     DIOCR_INTERFACE = $00000002;     
     DIODI_NO_ADD = $00000001;     
     DIOD_INHERIT_CLASSDRVS = $00000002;     
     DIOD_CANCEL_REMOVE = $00000004;     
     DIREG_DEV = $00000001;     
     DIREG_DRV = $00000002;     
     DIREG_BOTH = $00000004;     
     DIRID_ABSOLUTE = -(1);     
     DIRID_NULL = 0;     
     DIRID_SRCPATH = 1;     
     DIRID_WINDOWS = 10;     
     DIRID_SYSTEM = 11;     
     DIRID_DRIVERS = 12;     
     DIRID_INF = 17;     
     DIRID_HELP = 18;     
     DIRID_FONTS = 20;     
     DIRID_VIEWERS = 21;     
     DIRID_COLOR = 23;     
     DIRID_APPS = 24;     
     DIRID_SHARED = 25;     
     DIRID_BOOT = 30;     
     DIRID_SYSTEM16 = 50;     
     DIRID_SPOOL = 51;     
     DIRID_SPOOLDRIVERS = 52;     
     DIRID_USERPROFILE = 53;     
     DIRID_LOADER = 54;     
     DIRID_PRINTPROCESSOR = 55;     
     DIRID_COMMON_STARTMENU = 16406;     
     DIRID_COMMON_PROGRAMS = 16407;     
     DIRID_COMMON_STARTUP = 16408;     
     DIRID_COMMON_DESKTOPDIRECTORY = 16409;     
     DIRID_COMMON_FAVORITES = 16415;     
     DIRID_COMMON_APPDATA = 16419;     
     DIRID_PROGRAM_FILES = 16422;     
     DIRID_SYSTEM_X86 = 16425;     
     DIRID_PROGRAM_FILES_X86 = 16426;     
     DIRID_PROGRAM_FILES_COMMON = 16427;     
     DIRID_PROGRAM_FILES_COMMONX86 = 16428;     
     DIRID_COMMON_TEMPLATES = 16429;     
     DIRID_COMMON_DOCUMENTS = 16430;     
     DIRID_USER = $8000;     
     DIRID_ABSOLUTE_16BIT = $ffff;     
     DIRID_IOSUBSYS = DIRID_DRIVERS;     
     DIRID_DEFAULT = DIRID_SYSTEM;     
     DMI_MASK = $00000001;     
     DMI_BKCOLOR = $00000002;     
     DMI_USERECT = $00000004;     
     DN_ROOT_ENUMERATED = $00000001;     
     DN_DRIVER_LOADED = $00000002;     
     DN_ENUM_LOADED = $00000004;     
     DN_STARTED = $00000008;     
     DN_MANUAL = $00000010;     
     DN_NEED_TO_ENUM = $00000020;     
     DN_NOT_FIRST_TIME = $00000040;     
     DN_HARDWARE_ENUM = $00000080;     
     DN_LIAR = $00000100;     
     DN_HAS_MARK = $00000200;     
     DN_HAS_PROBLEM = $00000400;     
     DN_FILTERED = $00000800;     
     DN_MOVED = $00001000;     
     DN_DISABLEABLE = $00002000;     
     DN_REMOVABLE = $00004000;     
     DN_PRIVATE_PROBLEM = $00008000;     
     DN_MF_PARENT = $00010000;     
     DN_MF_CHILD = $00020000;     
     DN_WILL_BE_REMOVED = $00040000;     
     DN_NOT_FIRST_TIMEE = $00080000;     
     DN_STOP_FREE_RES = $00100000;     
     DN_REBAL_CANDIDATE = $00200000;     
     DN_BAD_PARTIAL = $00400000;     
     DN_NT_ENUMERATOR = $00800000;     
     DN_NT_DRIVER = $01000000;     
     DN_NEEDS_LOCKING = $02000000;     
     DN_ARM_WAKEUP = $04000000;     
     DN_APM_ENUMERATOR = $08000000;     
     DN_APM_DRIVER = $10000000;     
     DN_SILENT_INSTALL = $20000000;     
     DN_NO_SHOW_IN_DM = $40000000;     
     DN_BOOT_LOG_PROB = $80000000;     
     DNF_DUPDESC = $00000001;     
     DNF_OLDDRIVER = $00000002;     
     DNF_EXCLUDEFROMLIST = $00000004;     
     DNF_NODRIVER = $00000008;     
     DNF_LEGACYINF = $00000010;     
     DNF_CLASS_DRIVER = $00000020;     
     DNF_COMPATIBLE_DRIVER = $00000040;     
     DNF_INET_DRIVER = $00000080;     
     DNF_UNUSED1 = $00000100;     
     DNF_INDEXED_DRIVER = $00000200;     
     DNF_OLD_INET_DRIVER = $00000400;     
     DNF_BAD_DRIVER = $00000800;     
     DNF_DUPPROVIDER = $00001000;     
     DPROMPT_SUCCESS = 0;     
     DPROMPT_CANCEL = 1;     
     DPROMPT_SKIPFILE = 2;     
     DPROMPT_BUFFERTOOSMALL = 3;     
     DPROMPT_OUTOFMEMORY = 4;     
     DRIVER_HARDWAREID_RANK = $00000FFF;     
     DYNAWIZ_FLAG_PAGESADDED = $00000001;     
     DYNAWIZ_FLAG_INSTALLDET_NEXT = $00000002;     
     DYNAWIZ_FLAG_INSTALLDET_PREV = $00000004;     
     DYNAWIZ_FLAG_ANALYZE_HANDLECONFLICT = $00000008;     
     ENABLECLASS_QUERY = 0;     
     ENABLECLASS_SUCCESS = 1;     
     ENABLECLASS_FAILURE = 2;
     {
     ERROR_EXPECTED_SECTION_NAME = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or 0;     
     ERROR_BAD_SECTION_NAME_LINE = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or 1;     
     ERROR_SECTION_NAME_TOO_LONG = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or 2;     
     ERROR_GENERAL_SYNTAX = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or 3;     
     ERROR_WRONG_INF_STYLE = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $100;     
     ERROR_NOT_INSTALLED = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $1000;     
     ERROR_SECTION_NOT_FOUND = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $101;     
     ERROR_LINE_NOT_FOUND = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $102;     
     ERROR_NO_BACKUP = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $103;     
     ERROR_NO_ASSOCIATED_CLASS = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $200;     
     ERROR_CLASS_MISMATCH = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $201;     
     ERROR_DUPLICATE_FOUND = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $202;     
     ERROR_NO_DRIVER_SELECTED = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $203;     
     ERROR_KEY_DOES_NOT_EXIST = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $204;     
     ERROR_INVALID_DEVINST_NAME = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $205;     
     ERROR_INVALID_CLASS = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $206;     
     ERROR_DEVINST_ALREADY_EXISTS = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $207;     
     ERROR_DEVINFO_NOT_REGISTERED = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $208;     
     ERROR_INVALID_REG_PROPERTY = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $209;     
     ERROR_NO_INF = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $20A;     
     ERROR_NO_SUCH_DEVINST = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $20B;     
     ERROR_CANT_LOAD_CLASS_ICON = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $20C;     
     ERROR_INVALID_CLASS_INSTALLER = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $20D;     
     ERROR_DI_DO_DEFAULT = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $20E;     
     ERROR_DI_NOFILECOPY = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $20F;     
     ERROR_INVALID_HWPROFILE = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $210;     
     ERROR_NO_DEVICE_SELECTED = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $211;     
     ERROR_DEVINFO_LIST_LOCKED = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $212;     
     ERROR_DEVINFO_DATA_LOCKED = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $213;     
     ERROR_DI_BAD_PATH = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $214;     
     ERROR_NO_CLASSINSTALL_PARAMS = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $215;     
     ERROR_FILEQUEUE_LOCKED = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $216;     
     ERROR_BAD_SERVICE_INSTALLSECT = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $217;     
     ERROR_NO_CLASS_DRIVER_LIST = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $218;     
     ERROR_NO_ASSOCIATED_SERVICE = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $219;     
     ERROR_NO_DEFAULT_DEVICE_INTERFACE = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $21A;     
     ERROR_DEVICE_INTERFACE_ACTIVE = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $21B;     
     ERROR_DEVICE_INTERFACE_REMOVED = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $21C;     
     ERROR_BAD_INTERFACE_INSTALLSECT = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $21D;     
     ERROR_NO_SUCH_INTERFACE_CLASS = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $21E;     
     ERROR_INVALID_REFERENCE_STRING = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $21F;     
     ERROR_INVALID_MACHINENAME = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $220;     
     ERROR_REMOTE_COMM_FAILURE = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $221;     
     ERROR_MACHINE_UNAVAILABLE = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $222;     
     ERROR_NO_CONFIGMGR_SERVICES = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $223;     
     ERROR_INVALID_PROPPAGE_PROVIDER = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $224;     
     ERROR_NO_SUCH_DEVICE_INTERFACE = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $225;     
     ERROR_DI_POSTPROCESSING_REQUIRED = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $226;     
     ERROR_INVALID_COINSTALLER = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $227;     
     ERROR_NO_COMPAT_DRIVERS = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $228;     
     ERROR_NO_DEVICE_ICON = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $229;     
     ERROR_INVALID_INF_LOGCONFIG = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $22A;     
     ERROR_DI_DONT_INSTALL = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $22B;     
     ERROR_INVALID_FILTER_DRIVER = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $22C;     
     ERROR_NON_WINDOWS_NT_DRIVER = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $22D;     
     ERROR_NON_WINDOWS_DRIVER = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $22E;     
     ERROR_NO_CATALOG_FOR_OEM_INF = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $22F;     
     ERROR_DEVINSTALL_QUEUE_NONNATIVE = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $230;     
     ERROR_NOT_DISABLEABLE = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $231;     
     ERROR_CANT_REMOVE_DEVINST = (APPLICATION_ERROR_MASK or ERROR_SEVERITY_ERROR) or $232;     
     ERROR_INTERFACE_DEVICE_ACTIVE = ERROR_DEVICE_INTERFACE_ACTIVE;     
     ERROR_INTERFACE_DEVICE_REMOVED = ERROR_DEVICE_INTERFACE_REMOVED;     
     ERROR_NO_DEFAULT_INTERFACE_DEVICE = ERROR_NO_DEFAULT_DEVICE_INTERFACE;     
     ERROR_NO_SUCH_INTERFACE_DEVICE = ERROR_NO_SUCH_DEVICE_INTERFACE;
     }
     FILEOP_COPY = 0;     
     FILEOP_ABORT = 0;     
     FILE_COMPRESSION_NONE = 0;     
     FILEOP_RENAME = 1;     
     FILEOP_DOIT = 1;     
     FILE_COMPRESSION_WINLZA = 1;     
     FILEOP_DELETE = 2;     
     FILEOP_SKIP = 2;     
     FILE_COMPRESSION_MSZIP = 2;     
     FILEOP_BACKUP = 3;     
     FILE_COMPRESSION_NTCAB = 3;     
     FILEOP_NEWPATH = 4;     
     FILEOP_RETRY = FILEOP_DOIT;     
     FLG_ADDREG_TYPE_SZ = $00000000;     
     FLG_ADDREG_BINVALUETYPE = $00000001;     
     FLG_ADDREG_NOCLOBBER = $00000002;     
     FLG_ADDREG_DELVAL = $00000004;     
     FLG_ADDREG_APPEND = $00000008;     
     FLG_ADDREG_KEYONLY = $00000010;     
     FLG_ADDREG_OVERWRITEONLY = $00000020;     

  const
     FLG_ADDREG_TYPE_MULTI_SZ = $00010000;     
     FLG_ADDREG_TYPE_EXPAND_SZ = $00020000;     
     FLG_ADDREG_TYPE_BINARY = $00000000 or FLG_ADDREG_BINVALUETYPE;     
     FLG_ADDREG_TYPE_DWORD = $00010000 or FLG_ADDREG_BINVALUETYPE;     
     FLG_ADDREG_TYPE_NONE = $00020000 or FLG_ADDREG_BINVALUETYPE;     
     FLG_ADDREG_TYPE_MASK = $FFFF0000 or FLG_ADDREG_BINVALUETYPE;     
     FLG_DELREG_VALUE = $00000000;     

  const
     FLG_BITREG_CLEARBITS = $00000000;     
     FLG_BITREG_SETBITS = $00000001;     
     FLG_PROFITEM_CURRENTUSER = $00000001;     
     FLG_PROFITEM_DELETE = $00000002;     
     FLG_PROFITEM_GROUP = $00000004;     
     FLG_PROFITEM_CSIDL = $00000008;     
     FLG_REGSVR_DLLREGISTER = $00000001;     
     FLG_REGSVR_DLLINSTALL = $00000002;     
     MIN_IDD_DYNAWIZ_RESOURCE_ID = 10000;     
     MAX_IDD_DYNAWIZ_RESOURCE_ID = 11000;     
     IDD_DYNAWIZ_FIRSTPAGE = 10000;     
     IDD_DYNAWIZ_SELECT_PREVPAGE = 10001;     
     IDD_DYNAWIZ_SELECT_NEXTPAGE = 10002;     
     IDD_DYNAWIZ_ANALYZE_PREVPAGE = 10003;     
     IDD_DYNAWIZ_ANALYZE_NEXTPAGE = 10004;     
     IDD_DYNAWIZ_INSTALLDETECTED_PREVPAGE = 10006;     
     IDD_DYNAWIZ_INSTALLDETECTED_NEXTPAGE = 10007;     
     IDD_DYNAWIZ_INSTALLDETECTED_NODEVS = 10008;     
     IDD_DYNAWIZ_SELECTDEV_PAGE = 10009;     
     IDD_DYNAWIZ_ANALYZEDEV_PAGE = 10010;     
     IDD_DYNAWIZ_INSTALLDETECTEDDEVS_PAGE = 10011;     
     IDD_DYNAWIZ_SELECTCLASS_PAGE = 10012;     
     IDF_NOBROWSE = $00000001;     
     IDF_NOSKIP = $00000002;     
     IDF_NODETAILS = $00000004;     
     IDF_NOCOMPRESSED = $00000008;     
     IDF_CHECKFIRST = $00000100;     
     IDF_NOBEEP = $00000200;     
     IDF_NOFOREGROUND = $00000400;     
     IDF_WARNIFSKIP = $00000800;     
     IDF_OEMDISK = $80000000;     
     IDI_RESOURCEFIRST = 159;     
     IDI_RESOURCE = 159;     
     IDI_RESOURCELAST = 161;     
     IDI_RESOURCEOVERLAYFIRST = 161;     
     IDI_RESOURCEOVERLAYLAST = 161;     
     IDI_CONFLICT = 161;     
     IDI_PROBLEM_OVL = 500;     
     IDI_DISABLED_OVL = 501;     
     IDI_FORCED_OVL = 502;     
     IDI_CLASSICON_OVERLAYFIRST = 500;     
     IDI_CLASSICON_OVERLAYLAST = 502;     
     INF_STYLE_NONE = $00000000;     
     INF_STYLE_OLDNT = $00000001;     
     INF_STYLE_WIN4 = $00000002;     
     INF_STYLE_CACHE_ENABLE = $00000010;     
     INF_STYLE_CACHE_DISABLE = $00000020;     
     INFINFO_INF_SPEC_IS_HINF = 1;     
     INFINFO_INF_NAME_IS_ABSOLUTE = 2;     
     INFINFO_DEFAULT_SEARCH = 3;     
     INFINFO_REVERSE_DEFAULT_SEARCH = 4;     
     INFINFO_INF_PATH_LIST_SEARCH = 5;     
     LogSevInformation = 0;     
     LogSevWarning = 1;     
     LogSevError = 2;     
     LogSevFatalError = 3;     
     LogSevMaximum = 4;     
//     LogSeverity = DWORD;
     MAX_INSTALLWIZARD_DYNAPAGES = 20;     
     NDW_INSTALLFLAG_DIDFACTDEFS = $00000001;     
     NDW_INSTALLFLAG_HARDWAREALLREADYIN = $00000002;     
     NDW_INSTALLFLAG_NEEDSHUTDOWN = $00000200;     
     NDW_INSTALLFLAG_EXPRESSINTRO = $00000400;     
     NDW_INSTALLFLAG_SKIPISDEVINSTALLED = $00000800;     
     NDW_INSTALLFLAG_NODETECTEDDEVS = $00001000;     
     NDW_INSTALLFLAG_INSTALLSPECIFIC = $00002000;     
     NDW_INSTALLFLAG_SKIPCLASSLIST = $00004000;     
     NDW_INSTALLFLAG_CI_PICKED_OEM = $00008000;     
     NDW_INSTALLFLAG_PCMCIAMODE = $00010000;     
     NDW_INSTALLFLAG_PCMCIADEVICE = $00020000;     
     NDW_INSTALLFLAG_USERCANCEL = $00040000;     
     NDW_INSTALLFLAG_KNOWNCLASS = $00080000;     
     NDW_INSTALLFLAG_NEEDRESTART = $00000080;     
     NDW_INSTALLFLAG_NEEDREBOOT = $00000100;     
     SETDIRID_NOT_FULL_PATH = $00000001;     
     SP_COPY_DELETESOURCE = $0000001;     
     SP_COPY_REPLACEONLY = $0000002;     
     SP_COPY_NEWER = $0000004;     
     SP_COPY_NEWER_OR_SAME = $0000004;     
     SP_COPY_NOOVERWRITE = $0000008;     
     SP_COPY_NODECOMP = $0000010;     
     SP_COPY_LANGUAGEAWARE = $0000020;     
     SP_COPY_SOURCE_ABSOLUTE = $0000040;     
     SP_COPY_SOURCEPATH_ABSOLUTE = $0000080;     
     SP_COPY_IN_USE_NEEDS_REBOOT = $0000100;     
     SP_COPY_FORCE_IN_USE = $0000200;     
     SP_COPY_NOSKIP = $0000400;     
     SP_COPY_FORCE_NOOVERWRITE = $0001000;     
     SP_COPY_FORCE_NEWER = $0002000;     
     SP_COPY_WARNIFSKIP = $0004000;     
     SP_COPY_NOBROWSE = $0008000;     
     SP_COPY_NEWER_ONLY = $0010000;     
     SP_COPY_SOURCE_SIS_MASTER = $0020000;     
     SP_COPY_OEMINF_CATALOG_ONLY = $0040000;     
     SP_COPY_REPLACE_BOOT_FILE = $0080000;     
     SP_COPY_NOPRUNE = $0100000;     
     SP_FLAG_CABINETCONTINUATION = $0000800;     
     SPCRP_SECURITY = 23;     
     SPCRP_SECURITY_SDS = 24;     
     SPCRP_DEVTYPE = 25;     
     SPCRP_EXCLUSIVE = 26;     
     SPCRP_CHARACTERISTICS = 27;     
     SPCRP_MAXIMUM_PROPERTY = 28;     
     SPDIT_NODRIVER = 0;     
     SPDIT_CLASSDRIVER = 1;     
     SPDIT_COMPATDRIVER = 2;     
     SPDRP_DEVICEDESC = 0;     
     SPDRP_HARDWAREID = 1;     
     SPDRP_COMPATIBLEIDS = 2;     
     SPDRP_UNUSED0 = 3;     
     SPDRP_SERVICE = 4;     
     SPDRP_UNUSED1 = 5;     
     SPDRP_UNUSED2 = 6;     
     SPDRP_CLASS = 7;     
     SPDRP_CLASSGUID = 8;     
     SPDRP_DRIVER = 9;     
     SPDRP_CONFIGFLAGS = 10;     
     SPDRP_MFG = 11;     
     SPDRP_FRIENDLYNAME = 12;     
     SPDRP_LOCATION_INFORMATION = 13;     
     SPDRP_PHYSICAL_DEVICE_OBJECT_NAME = 14;     
     SPDRP_CAPABILITIES = 15;     
     SPDRP_UI_NUMBER = 16;     
     SPDRP_UPPERFILTERS = 17;     
     SPDRP_LOWERFILTERS = 18;     
     SPDRP_BUSTYPEGUID = 19;     
     SPDRP_LEGACYBUSTYPE = 20;     
     SPDRP_BUSNUMBER = 21;     
     SPDRP_ENUMERATOR_NAME = 22;     
     SPDRP_SECURITY = 23;     
     SPDRP_SECURITY_SDS = 24;     
     SPDRP_DEVTYPE = 25;     
     SPDRP_EXCLUSIVE = 26;     
     SPDRP_CHARACTERISTICS = 27;     
     SPDRP_ADDRESS = 28;     
     SPDRP_UI_NUMBER_DESC_FORMAT = 30;     
     SPDRP_MAXIMUM_PROPERTY = 31;     
     SPDSL_IGNORE_DISK = 1;     
     SPDSL_DISALLOW_NEGATIVE_ADJUST = 2;     
     SPFILENOTIFY_STARTQUEUE = 1;     
     SPFILENOTIFY_ENDQUEUE = 2;     
     SPFILENOTIFY_STARTSUBQUEUE = 3;     
     SPFILENOTIFY_ENDSUBQUEUE = 4;     
     SPFILENOTIFY_STARTDELETE = 5;     
     SPFILENOTIFY_ENDDELETE = 6;     
     SPFILENOTIFY_DELETEERROR = 7;     
     SPFILENOTIFY_STARTRENAME = 8;     
     SPFILENOTIFY_ENDRENAME = 9;     
     SPFILENOTIFY_RENAMEERROR = 10;     
     SPFILENOTIFY_STARTCOPY = 11;     
     SPFILENOTIFY_ENDCOPY = 12;     
     SPFILENOTIFY_COPYERROR = 13;     
     SPFILENOTIFY_NEEDMEDIA = 14;     
     SPFILENOTIFY_QUEUESCAN = 15;     
     SPFILENOTIFY_CABINETINFO = 16;     
     SPFILENOTIFY_FILEINCABINET = 17;     
     SPFILENOTIFY_NEEDNEWCABINET = 18;     
     SPFILENOTIFY_FILEEXTRACTED = 19;     
     SPFILENOTIFY_FILEOPDELAYED = 20;     
     SPFILENOTIFY_STARTBACKUP = 21;     
     SPFILENOTIFY_BACKUPERROR = 22;     
     SPFILENOTIFY_ENDBACKUP = 23;     
     SPFILENOTIFY_QUEUESCAN_EX = 24;     
     SPFILENOTIFY_STARTREGISTRATION = 25;     
     SPFILENOTIFY_ENDREGISTRATION = 26;     
     SPFILENOTIFY_LANGMISMATCH = $00010000;     
     SPFILENOTIFY_TARGETEXISTS = $00020000;     
     SPFILENOTIFY_TARGETNEWER = $00040000;     
     SPFILELOG_SYSTEMLOG = $00000001;     
     SPFILELOG_OEMFILE = $00000001;     
     SPFILELOG_FORCENEW = $00000002;     
     SPFILELOG_QUERYONLY = $00000004;     
     SPFILEQ_FILE_IN_USE = $00000001;     
     SPFILEQ_REBOOT_RECOMMENDED = $00000002;     
     SPFILEQ_REBOOT_IN_PROGRESS = $00000004;     
     SPINT_ACTIVE = $00000001;     
     SPINT_DEFAULT = $00000002;     
     SPINT_REMOVED = $00000004;     
     SPID_ACTIVE = $00000001;     
     SPID_DEFAULT = $00000002;     
     SPID_REMOVED = $00000004;     
     SPINST_LOGCONFIG = $00000001;     
     SPINST_INIFILES = $00000002;     
     SPINST_REGISTRY = $00000004;     
     SPINST_INI2REG = $00000008;     
     SPINST_FILES = $00000010;     
     SPINST_BITREG = $00000020;     
     SPINST_REGSVR = $00000040;     
     SPINST_UNREGSVR = $00000080;     
     SPINST_PROFILEITEMS = $00000100;     
  const
     SPINST_ALL = $000001ff;     
{$endif}

  const
     SPINST_SINGLESECTION = $00010000;     
     SPINST_LOGCONFIG_IS_FORCED = $00020000;     
     SPINST_LOGCONFIGS_ARE_OVERRIDES = $00040000;     

  const
     SPOST_NONE = 0;     
     SPOST_PATH = 1;     
     SPOST_URL = 2;     
     SPOST_MAX = 3;     
     SPPSR_SELECT_DEVICE_RESOURCES = 1;     
     SPPSR_ENUM_BASIC_DEVICE_PROPERTIES = 2;     
     SPPSR_ENUM_ADV_DEVICE_PROPERTIES = 3;     
     SPQ_SCAN_FILE_PRESENCE = $00000001;     
     SPQ_DELAYED_COPY = $00000001;     
     SPQ_SCAN_FILE_VALIDITY = $00000002;     
     SPQ_SCAN_USE_CALLBACK = $00000004;     
     SPQ_SCAN_USE_CALLBACKEX = $00000008;     
     SPQ_SCAN_INFORM_USER = $00000010;     
     SPQ_SCAN_PRUNE_COPY_QUEUE = $00000020;     
     SPRDI_FIND_DUPS = $00000001;     
     SPSVCINST_TAGTOFRONT = $00000001;     
     SPSVCINST_ASSOCSERVICE = $00000002;     
     SPSVCINST_DELETEEVENTLOGENTRY = $00000004;     
     SPSVCINST_NOCLOBBER_DISPLAYNAME = $00000008;     
     SPSVCINST_NOCLOBBER_STARTTYPE = $00000010;     
     SPSVCINST_NOCLOBBER_ERRORCONTROL = $00000020;     
     SPSVCINST_NOCLOBBER_LOADORDERGROUP = $00000040;     
     SPSVCINST_NOCLOBBER_DEPENDENCIES = $00000080;     
     SPSVCINST_NOCLOBBER_DESCRIPTION = $00000100;     
     SPSVCINST_STOPSERVICE = $00000200;     
     SPWPT_SELECTDEVICE = $00000001;     
     SPWP_USE_DEVINFO_DATA = $00000001;     
     SRCINFO_PATH = 1;     
     SRCINFO_TAGFILE = 2;     
     SRCINFO_DESCRIPTION = 3;     
     SRCINFO_FLAGS = 4;     
     SRCLIST_TEMPORARY = $00000001;     
     SRCLIST_NOBROWSE = $00000002;     
     SRCLIST_SYSTEM = $00000010;     
     SRCLIST_USER = $00000020;     
     SRCLIST_SYSIFADMIN = $00000040;     
     SRCLIST_SUBDIRS = $00000100;     
     SRCLIST_APPEND = $00000200;     
     SRCLIST_NOSTRIPPLATFORM = $00000400;     
     SPREG_SUCCESS = $00000000;     
     SPREG_LOADLIBRARY = $00000001;     
     SPREG_GETPROCADDR = $00000002;     
     SPREG_REGSVR = $00000003;     
     SPREG_DLLINSTALL = $00000004;     
     SPREG_TIMEOUT = $00000005;     
     SPREG_UNKNOWN = $FFFFFFFF;     
  { Flags for StringTableAddString and StringTableLookUpString  }
     ST_CASE_SENSITIVE_COMPARE = $00000001;     
{$ifndef RC_INVOKED}

  type

     PHINF = ^HINF;
     HINF = PVOID;

     PHDSKSPC = ^HDSKSPC;
     HDSKSPC = PVOID;

     PHDEVINFO = ^HDEVINFO;
     HDEVINFO = PVOID;

     PHSPFILEQ = ^HSPFILEQ;
     HSPFILEQ = PVOID;

     PHSPFILELOG = ^HSPFILELOG;
     HSPFILELOG = PVOID;

     PDI_FUNCTION = ^DI_FUNCTION;
     DI_FUNCTION = UINT;

     PHSTRING_TABLE = ^HSTRING_TABLE;
     HSTRING_TABLE = PVOID;

     PSetupFileLogInfo = ^SetupFileLogInfo;
     SetupFileLogInfo =  Longint;
     Const
       SetupFileLogSourceFilename = 0;
       SetupFileLogChecksum = 1;
       SetupFileLogDiskTagfile = 2;
       SetupFileLogDiskDescription = 3;
       SetupFileLogOtherInfo = 4;
       SetupFileLogMax = 5;

  type

     P_INFCONTEXT = ^_INFCONTEXT;
     _INFCONTEXT = record
          Inf : PVOID;
          CurrentInf : PVOID;
          Section : UINT;
          Line : UINT;
       end;
     INFCONTEXT = _INFCONTEXT;
     PINFCONTEXT = ^INFCONTEXT;
//     PINFCONTEXT = P_INFCONTEXT;
     PPINFCONTEXT = ^PINFCONTEXT;

     P_SP_INF_INFORMATION = ^_SP_INF_INFORMATION;
     _SP_INF_INFORMATION = record
          InfStyle : DWORD;
          InfCount : DWORD;
          VersionData : array[0..(ANYSIZE_ARRAY)-1] of BYTE;
       end;
     SP_INF_INFORMATION = _SP_INF_INFORMATION;
     PSP_INF_INFORMATION = ^SP_INF_INFORMATION;
//     PSP_INF_INFORMATION = P_SP_INF_INFORMATION;
     PPSP_INF_INFORMATION = ^PSP_INF_INFORMATION;

     P_SP_ALTPLATFORM_INFO = ^_SP_ALTPLATFORM_INFO;
     _SP_ALTPLATFORM_INFO = record
          cbSize : DWORD;
          Platform : DWORD;
          MajorVersion : DWORD;
          MinorVersion : DWORD;
          ProcessorArchitecture : WORD;
          Reserved : WORD;
       end;
     SP_ALTPLATFORM_INFO = _SP_ALTPLATFORM_INFO;
     PSP_ALTPLATFORM_INFO = ^SP_ALTPLATFORM_INFO;
//     PSP_ALTPLATFORM_INFO = P_SP_ALTPLATFORM_INFO;
     PPSP_ALTPLATFORM_INFO = ^PSP_ALTPLATFORM_INFO;

     P_SP_ORIGINAL_FILE_INFO_A = ^_SP_ORIGINAL_FILE_INFO_A;
     _SP_ORIGINAL_FILE_INFO_A = record
          cbSize : DWORD;
          OriginalInfName : array[0..(MAX_PATH)-1] of CHAR;
          OriginalCatalogName : array[0..(MAX_PATH)-1] of CHAR;
       end;
     SP_ORIGINAL_FILE_INFO_A = _SP_ORIGINAL_FILE_INFO_A;
     PSP_ORIGINAL_FILE_INFO_A = ^SP_ORIGINAL_FILE_INFO_A;
//     PSP_ORIGINAL_FILE_INFO_A = P_SP_ORIGINAL_FILE_INFO_A;
     PPSP_ORIGINAL_FILE_INFO_A = ^PSP_ORIGINAL_FILE_INFO_A;

     P_SP_ORIGINAL_FILE_INFO_W = ^_SP_ORIGINAL_FILE_INFO_W;
     _SP_ORIGINAL_FILE_INFO_W = record
          cbSize : DWORD;
          OriginalInfName : array[0..(MAX_PATH)-1] of WCHAR;
          OriginalCatalogName : array[0..(MAX_PATH)-1] of WCHAR;
       end;
     SP_ORIGINAL_FILE_INFO_W = _SP_ORIGINAL_FILE_INFO_W;
     PSP_ORIGINAL_FILE_INFO_W = ^SP_ORIGINAL_FILE_INFO_W;
//     PSP_ORIGINAL_FILE_INFO_W = P_SP_ORIGINAL_FILE_INFO_W;
     PPSP_ORIGINAL_FILE_INFO_W = ^PSP_ORIGINAL_FILE_INFO_W;

     P_FILEPATHS_A = ^_FILEPATHS_A;
     _FILEPATHS_A = record
          Target : PCSTR;
          Source : PCSTR;
          Win32Error : UINT;
          Flags : DWORD;
       end;
     FILEPATHS_A = _FILEPATHS_A;
     PFILEPATHS_A = ^FILEPATHS_A;
//     PFILEPATHS_A = P_FILEPATHS_A;
     PPFILEPATHS_A = ^PFILEPATHS_A;

     P_FILEPATHS_W = ^_FILEPATHS_W;
     _FILEPATHS_W = record
          Target : PCWSTR;
          Source : PCWSTR;
          Win32Error : UINT;
          Flags : DWORD;
       end;
     FILEPATHS_W = _FILEPATHS_W;
     PFILEPATHS_W = ^FILEPATHS_W;
//     PFILEPATHS_W = P_FILEPATHS_W;
     PPFILEPATHS_W = ^PFILEPATHS_W;

     P_SOURCE_MEDIA_A = ^_SOURCE_MEDIA_A;
     _SOURCE_MEDIA_A = record
          Reserved : PCSTR;
          Tagfile : PCSTR;
          Description : PCSTR;
          SourcePath : PCSTR;
          SourceFile : PCSTR;
          Flags : DWORD;
       end;
     SOURCE_MEDIA_A = _SOURCE_MEDIA_A;
     PSOURCE_MEDIA_A = ^SOURCE_MEDIA_A;
//     PSOURCE_MEDIA_A = P_SOURCE_MEDIA_A;
     PPSOURCE_MEDIA_A = ^PSOURCE_MEDIA_A;

     P_SOURCE_MEDIA_W = ^_SOURCE_MEDIA_W;
     _SOURCE_MEDIA_W = record
          Reserved : PCWSTR;
          Tagfile : PCWSTR;
          Description : PCWSTR;
          SourcePath : PCWSTR;
          SourceFile : PCWSTR;
          Flags : DWORD;
       end;
     SOURCE_MEDIA_W = _SOURCE_MEDIA_W;
     PSOURCE_MEDIA_W = ^SOURCE_MEDIA_W;
//     PSOURCE_MEDIA_W = P_SOURCE_MEDIA_W;
     PPSOURCE_MEDIA_W = ^PSOURCE_MEDIA_W;

     P_CABINET_INFO_A = ^_CABINET_INFO_A;
     _CABINET_INFO_A = record
          CabinetPath : PCSTR;
          CabinetFile : PCSTR;
          DiskName : PCSTR;
          SetId : USHORT;
          CabinetNumber : USHORT;
       end;
     CABINET_INFO_A = _CABINET_INFO_A;
     PCABINET_INFO_A = ^CABINET_INFO_A;
//     PCABINET_INFO_A = P_CABINET_INFO_A;
     PPCABINET_INFO_A = ^PCABINET_INFO_A;

     P_CABINET_INFO_W = ^_CABINET_INFO_W;
     _CABINET_INFO_W = record
          CabinetPath : PCWSTR;
          CabinetFile : PCWSTR;
          DiskName : PCWSTR;
          SetId : USHORT;
          CabinetNumber : USHORT;
       end;
     CABINET_INFO_W = _CABINET_INFO_W;
     PCABINET_INFO_W = ^CABINET_INFO_W;
//     PCABINET_INFO_W = P_CABINET_INFO_W;
     PPCABINET_INFO_W = ^PCABINET_INFO_W;

     P_FILE_IN_CABINET_INFO_A = ^_FILE_IN_CABINET_INFO_A;
     _FILE_IN_CABINET_INFO_A = record
          NameInCabinet : PCSTR;
          FileSize : DWORD;
          Win32Error : DWORD;
          DosDate : WORD;
          DosTime : WORD;
          DosAttribs : WORD;
          FullTargetName : array[0..(MAX_PATH)-1] of CHAR;
       end;
     FILE_IN_CABINET_INFO_A = _FILE_IN_CABINET_INFO_A;
     PFILE_IN_CABINET_INFO_A = ^FILE_IN_CABINET_INFO_A;
//     PFILE_IN_CABINET_INFO_A = P_FILE_IN_CABINET_INFO_A;
     PPFILE_IN_CABINET_INFO_A = ^PFILE_IN_CABINET_INFO_A;

     P_FILE_IN_CABINET_INFO_W = ^_FILE_IN_CABINET_INFO_W;
     _FILE_IN_CABINET_INFO_W = record
          NameInCabinet : PCWSTR;
          FileSize : DWORD;
          Win32Error : DWORD;
          DosDate : WORD;
          DosTime : WORD;
          DosAttribs : WORD;
          FullTargetName : array[0..(MAX_PATH)-1] of WCHAR;
       end;
     FILE_IN_CABINET_INFO_W = _FILE_IN_CABINET_INFO_W;
     PFILE_IN_CABINET_INFO_W = ^FILE_IN_CABINET_INFO_W;
//     PFILE_IN_CABINET_INFO_W = P_FILE_IN_CABINET_INFO_W;
     PPFILE_IN_CABINET_INFO_W = ^PFILE_IN_CABINET_INFO_W;

     P_SP_FILE_COPY_PARAMS_A = ^_SP_FILE_COPY_PARAMS_A;
     _SP_FILE_COPY_PARAMS_A = record
          cbSize : DWORD;
          QueueHandle : HSPFILEQ;
          SourceRootPath : PCSTR;
          SourcePath : PCSTR;
          SourceFilename : PCSTR;
          SourceDescription : PCSTR;
          SourceTagfile : PCSTR;
          TargetDirectory : PCSTR;
          TargetFilename : PCSTR;
          CopyStyle : DWORD;
          LayoutInf : HINF;
          SecurityDescriptor : PCSTR;
       end;
     SP_FILE_COPY_PARAMS_A = _SP_FILE_COPY_PARAMS_A;
     PSP_FILE_COPY_PARAMS_A = ^SP_FILE_COPY_PARAMS_A;
//     PSP_FILE_COPY_PARAMS_A = P_SP_FILE_COPY_PARAMS_A;
     PPSP_FILE_COPY_PARAMS_A = ^PSP_FILE_COPY_PARAMS_A;

     P_SP_FILE_COPY_PARAMS_W = ^_SP_FILE_COPY_PARAMS_W;
     _SP_FILE_COPY_PARAMS_W = record
          cbSize : DWORD;
          QueueHandle : HSPFILEQ;
          SourceRootPath : PCWSTR;
          SourcePath : PCWSTR;
          SourceFilename : PCWSTR;
          SourceDescription : PCWSTR;
          SourceTagfile : PCWSTR;
          TargetDirectory : PCWSTR;
          TargetFilename : PCWSTR;
          CopyStyle : DWORD;
          LayoutInf : HINF;
          SecurityDescriptor : PCWSTR;
       end;
     SP_FILE_COPY_PARAMS_W = _SP_FILE_COPY_PARAMS_W;
     PSP_FILE_COPY_PARAMS_W = ^SP_FILE_COPY_PARAMS_W;
//     PSP_FILE_COPY_PARAMS_W = P_SP_FILE_COPY_PARAMS_W;
     PPSP_FILE_COPY_PARAMS_W = ^PSP_FILE_COPY_PARAMS_W;

     P_SP_DEVINFO_DATA = ^_SP_DEVINFO_DATA;
     _SP_DEVINFO_DATA = record
          cbSize : DWORD;
          ClassGuid : GUID;
          DevInst : DWORD;
          Reserved : ULONG_PTR;
       end;
     SP_DEVINFO_DATA = _SP_DEVINFO_DATA;
     PSP_DEVINFO_DATA = ^SP_DEVINFO_DATA;
//     PSP_DEVINFO_DATA = P_SP_DEVINFO_DATA;
     PPSP_DEVINFO_DATA = ^PSP_DEVINFO_DATA;

     P_SP_DEVICE_INTERFACE_DATA = ^_SP_DEVICE_INTERFACE_DATA;
     _SP_DEVICE_INTERFACE_DATA = record
          cbSize : DWORD;
          InterfaceClassGuid : GUID;
          Flags : DWORD;
          Reserved : ULONG_PTR;
       end;
     SP_DEVICE_INTERFACE_DATA = _SP_DEVICE_INTERFACE_DATA;
     PSP_DEVICE_INTERFACE_DATA = ^SP_DEVICE_INTERFACE_DATA;
//     PSP_DEVICE_INTERFACE_DATA = P_SP_DEVICE_INTERFACE_DATA;
     PPSP_DEVICE_INTERFACE_DATA = ^PSP_DEVICE_INTERFACE_DATA;
  { For backward compatability  }

     PSP_INTERFACE_DEVICE_DATA = ^SP_INTERFACE_DEVICE_DATA;
     SP_INTERFACE_DEVICE_DATA = SP_DEVICE_INTERFACE_DATA;
//     PSP_INTERFACE_DEVICE_DATA = PSP_INTERFACE_DEVICE_DATA;
     PPSP_INTERFACE_DEVICE_DATA = ^PSP_INTERFACE_DEVICE_DATA;

     P_SP_DEVICE_INTERFACE_DETAIL_DATA_A = ^_SP_DEVICE_INTERFACE_DETAIL_DATA_A;
     _SP_DEVICE_INTERFACE_DETAIL_DATA_A = record
          cbSize : DWORD;
          DevicePath : array[0..(ANYSIZE_ARRAY)-1] of CHAR;
       end;
     SP_DEVICE_INTERFACE_DETAIL_DATA_A = _SP_DEVICE_INTERFACE_DETAIL_DATA_A;
     PSP_DEVICE_INTERFACE_DETAIL_DATA_A = ^SP_DEVICE_INTERFACE_DETAIL_DATA_A;
//     PSP_DEVICE_INTERFACE_DETAIL_DATA_A = P_SP_DEVICE_INTERFACE_DETAIL_DATA_A;
     PPSP_DEVICE_INTERFACE_DETAIL_DATA_A = ^PSP_DEVICE_INTERFACE_DETAIL_DATA_A;

     P_SP_DEVICE_INTERFACE_DETAIL_DATA_W = ^_SP_DEVICE_INTERFACE_DETAIL_DATA_W;
     _SP_DEVICE_INTERFACE_DETAIL_DATA_W = record
          cbSize : DWORD;
          DevicePath : array[0..(ANYSIZE_ARRAY)-1] of WCHAR;
       end;
     SP_DEVICE_INTERFACE_DETAIL_DATA_W = _SP_DEVICE_INTERFACE_DETAIL_DATA_W;
     PSP_DEVICE_INTERFACE_DETAIL_DATA_W = ^SP_DEVICE_INTERFACE_DETAIL_DATA_W;
//     PSP_DEVICE_INTERFACE_DETAIL_DATA_W = P_SP_DEVICE_INTERFACE_DETAIL_DATA_W;
     PPSP_DEVICE_INTERFACE_DETAIL_DATA_W = ^PSP_DEVICE_INTERFACE_DETAIL_DATA_W;
  { For backward compatability  }

     PSP_INTERFACE_DEVICE_DETAIL_DATA_A = ^SP_INTERFACE_DEVICE_DETAIL_DATA_A;
     SP_INTERFACE_DEVICE_DETAIL_DATA_A = SP_DEVICE_INTERFACE_DETAIL_DATA_A;
//     PSP_INTERFACE_DEVICE_DETAIL_DATA_A = PSP_INTERFACE_DEVICE_DETAIL_DATA_A;
     PPSP_INTERFACE_DEVICE_DETAIL_DATA_A = ^PSP_INTERFACE_DEVICE_DETAIL_DATA_A;

     PSP_INTERFACE_DEVICE_DETAIL_DATA_W = ^SP_INTERFACE_DEVICE_DETAIL_DATA_W;
     SP_INTERFACE_DEVICE_DETAIL_DATA_W = SP_DEVICE_INTERFACE_DETAIL_DATA_W;
//     PSP_INTERFACE_DEVICE_DETAIL_DATA_W = PSP_INTERFACE_DEVICE_DETAIL_DATA_W;
     PPSP_INTERFACE_DEVICE_DETAIL_DATA_W = ^PSP_INTERFACE_DEVICE_DETAIL_DATA_W;

     P_SP_DEVINFO_LIST_DETAIL_DATA_A = ^_SP_DEVINFO_LIST_DETAIL_DATA_A;
     _SP_DEVINFO_LIST_DETAIL_DATA_A = record
          cbSize : DWORD;
          ClassGuid : GUID;
          RemoteMachineHandle : HANDLE;
          RemoteMachineName : array[0..(SP_MAX_MACHINENAME_LENGTH)-1] of CHAR;
       end;
     SP_DEVINFO_LIST_DETAIL_DATA_A = _SP_DEVINFO_LIST_DETAIL_DATA_A;
     PSP_DEVINFO_LIST_DETAIL_DATA_A = ^SP_DEVINFO_LIST_DETAIL_DATA_A;
//     PSP_DEVINFO_LIST_DETAIL_DATA_A = P_SP_DEVINFO_LIST_DETAIL_DATA_A;
     PPSP_DEVINFO_LIST_DETAIL_DATA_A = ^PSP_DEVINFO_LIST_DETAIL_DATA_A;

     P_SP_DEVINFO_LIST_DETAIL_DATA_W = ^_SP_DEVINFO_LIST_DETAIL_DATA_W;
     _SP_DEVINFO_LIST_DETAIL_DATA_W = record
          cbSize : DWORD;
          ClassGuid : GUID;
          RemoteMachineHandle : HANDLE;
          RemoteMachineName : array[0..(SP_MAX_MACHINENAME_LENGTH)-1] of WCHAR;
       end;
     SP_DEVINFO_LIST_DETAIL_DATA_W = _SP_DEVINFO_LIST_DETAIL_DATA_W;
     PSP_DEVINFO_LIST_DETAIL_DATA_W = ^SP_DEVINFO_LIST_DETAIL_DATA_W;
//     PSP_DEVINFO_LIST_DETAIL_DATA_W = P_SP_DEVINFO_LIST_DETAIL_DATA_W;
     PPSP_DEVINFO_LIST_DETAIL_DATA_W = ^PSP_DEVINFO_LIST_DETAIL_DATA_W;

     PSP_FILE_CALLBACK_A = function (_para1:PVOID; _para2:UINT; _para3:UINT_PTR; _para4:UINT_PTR):UINT;

     PSP_FILE_CALLBACK_W = function (_para1:PVOID; _para2:UINT; _para3:UINT_PTR; _para4:UINT_PTR):UINT;

     P_SP_DEVINSTALL_PARAMS_A = ^_SP_DEVINSTALL_PARAMS_A;
     _SP_DEVINSTALL_PARAMS_A = record
          cbSize : DWORD;
          Flags : DWORD;
          FlagsEx : DWORD;
          hwndParent : HWND;
          InstallMsgHandler : PSP_FILE_CALLBACK_A;
          InstallMsgHandlerContext : PVOID;
          FileQueue : HSPFILEQ;
          ClassInstallReserved : ULONG_PTR;
          Reserved : DWORD;
          DriverPath : array[0..(MAX_PATH)-1] of CHAR;
       end;
     SP_DEVINSTALL_PARAMS_A = _SP_DEVINSTALL_PARAMS_A;
     PSP_DEVINSTALL_PARAMS_A = ^SP_DEVINSTALL_PARAMS_A;
//     PSP_DEVINSTALL_PARAMS_A = P_SP_DEVINSTALL_PARAMS_A;
     PPSP_DEVINSTALL_PARAMS_A = ^PSP_DEVINSTALL_PARAMS_A;

     P_SP_DEVINSTALL_PARAMS_W = ^_SP_DEVINSTALL_PARAMS_W;
     _SP_DEVINSTALL_PARAMS_W = record
          cbSize : DWORD;
          Flags : DWORD;
          FlagsEx : DWORD;
          hwndParent : HWND;
          InstallMsgHandler : PSP_FILE_CALLBACK_W;
          InstallMsgHandlerContext : PVOID;
          FileQueue : HSPFILEQ;
          ClassInstallReserved : ULONG_PTR;
          Reserved : DWORD;
          DriverPath : array[0..(MAX_PATH)-1] of WCHAR;
       end;
     SP_DEVINSTALL_PARAMS_W = _SP_DEVINSTALL_PARAMS_W;
     PSP_DEVINSTALL_PARAMS_W = ^SP_DEVINSTALL_PARAMS_W;
//     PSP_DEVINSTALL_PARAMS_W = P_SP_DEVINSTALL_PARAMS_W;
     PPSP_DEVINSTALL_PARAMS_W = ^PSP_DEVINSTALL_PARAMS_W;

     P_SP_CLASSINSTALL_HEADER = ^_SP_CLASSINSTALL_HEADER;
     _SP_CLASSINSTALL_HEADER = record
          cbSize : DWORD;
          InstallFunction : DI_FUNCTION;
       end;
     SP_CLASSINSTALL_HEADER = _SP_CLASSINSTALL_HEADER;
     PSP_CLASSINSTALL_HEADER = ^SP_CLASSINSTALL_HEADER;
//     PSP_CLASSINSTALL_HEADER = P_SP_CLASSINSTALL_HEADER;
     PPSP_CLASSINSTALL_HEADER = ^PSP_CLASSINSTALL_HEADER;

     P_SP_ENABLECLASS_PARAMS = ^_SP_ENABLECLASS_PARAMS;
     _SP_ENABLECLASS_PARAMS = record
          ClassInstallHeader : SP_CLASSINSTALL_HEADER;
          ClassGuid : GUID;
          EnableMessage : DWORD;
       end;
     SP_ENABLECLASS_PARAMS = _SP_ENABLECLASS_PARAMS;
     PSP_ENABLECLASS_PARAMS = ^SP_ENABLECLASS_PARAMS;
//     PSP_ENABLECLASS_PARAMS = P_SP_ENABLECLASS_PARAMS;
     PPSP_ENABLECLASS_PARAMS = ^PSP_ENABLECLASS_PARAMS;

     P_SP_MOVEDEV_PARAMS = ^_SP_MOVEDEV_PARAMS;
     _SP_MOVEDEV_PARAMS = record
          ClassInstallHeader : SP_CLASSINSTALL_HEADER;
          SourceDeviceInfoData : SP_DEVINFO_DATA;
       end;
     SP_MOVEDEV_PARAMS = _SP_MOVEDEV_PARAMS;
     PSP_MOVEDEV_PARAMS = ^SP_MOVEDEV_PARAMS;
//     PSP_MOVEDEV_PARAMS = P_SP_MOVEDEV_PARAMS;
     PPSP_MOVEDEV_PARAMS = ^PSP_MOVEDEV_PARAMS;

     P_SP_PROPCHANGE_PARAMS = ^_SP_PROPCHANGE_PARAMS;
     _SP_PROPCHANGE_PARAMS = record
          ClassInstallHeader : SP_CLASSINSTALL_HEADER;
          StateChange : DWORD;
          Scope : DWORD;
          HwProfile : DWORD;
       end;
     SP_PROPCHANGE_PARAMS = _SP_PROPCHANGE_PARAMS;
     PSP_PROPCHANGE_PARAMS = ^SP_PROPCHANGE_PARAMS;
//     PSP_PROPCHANGE_PARAMS = P_SP_PROPCHANGE_PARAMS;
     PPSP_PROPCHANGE_PARAMS = ^PSP_PROPCHANGE_PARAMS;

     P_SP_REMOVEDEVICE_PARAMS = ^_SP_REMOVEDEVICE_PARAMS;
     _SP_REMOVEDEVICE_PARAMS = record
          ClassInstallHeader : SP_CLASSINSTALL_HEADER;
          Scope : DWORD;
          HwProfile : DWORD;
       end;
     SP_REMOVEDEVICE_PARAMS = _SP_REMOVEDEVICE_PARAMS;
     PSP_REMOVEDEVICE_PARAMS = ^SP_REMOVEDEVICE_PARAMS;
//     PSP_REMOVEDEVICE_PARAMS = P_SP_REMOVEDEVICE_PARAMS;
     PPSP_REMOVEDEVICE_PARAMS = ^PSP_REMOVEDEVICE_PARAMS;

     P_SP_UNREMOVEDEVICE_PARAMS = ^_SP_UNREMOVEDEVICE_PARAMS;
     _SP_UNREMOVEDEVICE_PARAMS = record
          ClassInstallHeader : SP_CLASSINSTALL_HEADER;
          Scope : DWORD;
          HwProfile : DWORD;
       end;
     SP_UNREMOVEDEVICE_PARAMS = _SP_UNREMOVEDEVICE_PARAMS;
     PSP_UNREMOVEDEVICE_PARAMS = ^SP_UNREMOVEDEVICE_PARAMS;
//     PSP_UNREMOVEDEVICE_PARAMS = P_SP_UNREMOVEDEVICE_PARAMS;
     PPSP_UNREMOVEDEVICE_PARAMS = ^PSP_UNREMOVEDEVICE_PARAMS;

     P_SP_SELECTDEVICE_PARAMS_A = ^_SP_SELECTDEVICE_PARAMS_A;
     _SP_SELECTDEVICE_PARAMS_A = record
          ClassInstallHeader : SP_CLASSINSTALL_HEADER;
          Title : array[0..(MAX_TITLE_LEN)-1] of CHAR;
          Instructions : array[0..(MAX_INSTRUCTION_LEN)-1] of CHAR;
          ListLabel : array[0..(MAX_LABEL_LEN)-1] of CHAR;
          SubTitle : array[0..(MAX_SUBTITLE_LEN)-1] of CHAR;
          Reserved : array[0..1] of BYTE;
       end;
     SP_SELECTDEVICE_PARAMS_A = _SP_SELECTDEVICE_PARAMS_A;
     PSP_SELECTDEVICE_PARAMS_A = ^SP_SELECTDEVICE_PARAMS_A;
//     PSP_SELECTDEVICE_PARAMS_A = P_SP_SELECTDEVICE_PARAMS_A;
     PPSP_SELECTDEVICE_PARAMS_A = ^PSP_SELECTDEVICE_PARAMS_A;

     P_SP_SELECTDEVICE_PARAMS_W = ^_SP_SELECTDEVICE_PARAMS_W;
     _SP_SELECTDEVICE_PARAMS_W = record
          ClassInstallHeader : SP_CLASSINSTALL_HEADER;
          Title : array[0..(MAX_TITLE_LEN)-1] of WCHAR;
          Instructions : array[0..(MAX_INSTRUCTION_LEN)-1] of WCHAR;
          ListLabel : array[0..(MAX_LABEL_LEN)-1] of WCHAR;
          SubTitle : array[0..(MAX_SUBTITLE_LEN)-1] of WCHAR;
       end;
     SP_SELECTDEVICE_PARAMS_W = _SP_SELECTDEVICE_PARAMS_W;
     PSP_SELECTDEVICE_PARAMS_W = ^SP_SELECTDEVICE_PARAMS_W;
//     PSP_SELECTDEVICE_PARAMS_W = P_SP_SELECTDEVICE_PARAMS_W;
     PPSP_SELECTDEVICE_PARAMS_W = ^PSP_SELECTDEVICE_PARAMS_W;

     P_SP_REGISTER_CONTROL_STATUSA = ^_SP_REGISTER_CONTROL_STATUSA;
     _SP_REGISTER_CONTROL_STATUSA = record
          cbSize : DWORD;
          FileName : PCSTR;
          Win32Error : DWORD;
          FailureCode : DWORD;
       end;
     SP_REGISTER_CONTROL_STATUSA = _SP_REGISTER_CONTROL_STATUSA;
     PSP_REGISTER_CONTROL_STATUSA = ^SP_REGISTER_CONTROL_STATUSA;
//     PSP_REGISTER_CONTROL_STATUSA = P_SP_REGISTER_CONTROL_STATUSA;
     PPSP_REGISTER_CONTROL_STATUSA = ^PSP_REGISTER_CONTROL_STATUSA;

     P_SP_REGISTER_CONTROL_STATUSW = ^_SP_REGISTER_CONTROL_STATUSW;
     _SP_REGISTER_CONTROL_STATUSW = record
          cbSize : DWORD;
          FileName : PCWSTR;
          Win32Error : DWORD;
          FailureCode : DWORD;
       end;
     SP_REGISTER_CONTROL_STATUSW = _SP_REGISTER_CONTROL_STATUSW;
     PSP_REGISTER_CONTROL_STATUSW = ^SP_REGISTER_CONTROL_STATUSW;
//     PSP_REGISTER_CONTROL_STATUSW = P_SP_REGISTER_CONTROL_STATUSW;
     PPSP_REGISTER_CONTROL_STATUSW = ^PSP_REGISTER_CONTROL_STATUSW;

     PDETECT_PROGRESS_NOTIFY = function (_para1:PVOID; _para2:DWORD):BOOL;

     P_SP_DETECTDEVICE_PARAMS = ^_SP_DETECTDEVICE_PARAMS;
     _SP_DETECTDEVICE_PARAMS = record
          ClassInstallHeader : SP_CLASSINSTALL_HEADER;
          DetectProgressNotify : PDETECT_PROGRESS_NOTIFY;
          ProgressNotifyParam : PVOID;
       end;
     SP_DETECTDEVICE_PARAMS = _SP_DETECTDEVICE_PARAMS;
     PSP_DETECTDEVICE_PARAMS = ^SP_DETECTDEVICE_PARAMS;
//     PSP_DETECTDEVICE_PARAMS = P_SP_DETECTDEVICE_PARAMS;
     PPSP_DETECTDEVICE_PARAMS = ^PSP_DETECTDEVICE_PARAMS;

     P_SP_INSTALLWIZARD_DATA = ^_SP_INSTALLWIZARD_DATA;
     _SP_INSTALLWIZARD_DATA = record
          ClassInstallHeader : SP_CLASSINSTALL_HEADER;
          Flags : DWORD;
          DynamicPages : array[0..(MAX_INSTALLWIZARD_DYNAPAGES)-1] of HPROPSHEETPAGE;
          NumDynamicPages : DWORD;
          DynamicPageFlags : DWORD;
          PrivateFlags : DWORD;
          PrivateData : LPARAM;
          hwndWizardDlg : HWND;
       end;
     SP_INSTALLWIZARD_DATA = _SP_INSTALLWIZARD_DATA;
     PSP_INSTALLWIZARD_DATA = ^SP_INSTALLWIZARD_DATA;
//     PSP_INSTALLWIZARD_DATA = P_SP_INSTALLWIZARD_DATA;
     PPSP_INSTALLWIZARD_DATA = ^PSP_INSTALLWIZARD_DATA;

     P_SP_NEWDEVICEWIZARD_DATA = ^_SP_NEWDEVICEWIZARD_DATA;
     _SP_NEWDEVICEWIZARD_DATA = record
          ClassInstallHeader : SP_CLASSINSTALL_HEADER;
          Flags : DWORD;
          DynamicPages : array[0..(MAX_INSTALLWIZARD_DYNAPAGES)-1] of HPROPSHEETPAGE;
          NumDynamicPages : DWORD;
          hwndWizardDlg : HWND;
       end;
     SP_NEWDEVICEWIZARD_DATA = _SP_NEWDEVICEWIZARD_DATA;
     PSP_NEWDEVICEWIZARD_DATA = ^SP_NEWDEVICEWIZARD_DATA;
//     PSP_NEWDEVICEWIZARD_DATA = P_SP_NEWDEVICEWIZARD_DATA;
     PPSP_NEWDEVICEWIZARD_DATA = ^PSP_NEWDEVICEWIZARD_DATA;

     PSP_ADDPROPERTYPAGE_DATA = ^SP_ADDPROPERTYPAGE_DATA;
     SP_ADDPROPERTYPAGE_DATA = SP_NEWDEVICEWIZARD_DATA;
//     PSP_ADDPROPERTYPAGE_DATA = PSP_ADDPROPERTYPAGE_DATA;
     PPSP_ADDPROPERTYPAGE_DATA = ^PSP_ADDPROPERTYPAGE_DATA;

     P_SP_TROUBLESHOOTER_PARAMS_A = ^_SP_TROUBLESHOOTER_PARAMS_A;
     _SP_TROUBLESHOOTER_PARAMS_A = record
          ClassInstallHeader : SP_CLASSINSTALL_HEADER;
          ChmFile : array[0..(MAX_PATH)-1] of CHAR;
          HtmlTroubleShooter : array[0..(MAX_PATH)-1] of CHAR;
       end;
     SP_TROUBLESHOOTER_PARAMS_A = _SP_TROUBLESHOOTER_PARAMS_A;
     PSP_TROUBLESHOOTER_PARAMS_A = ^SP_TROUBLESHOOTER_PARAMS_A;
//     PSP_TROUBLESHOOTER_PARAMS_A = P_SP_TROUBLESHOOTER_PARAMS_A;
     PPSP_TROUBLESHOOTER_PARAMS_A = ^PSP_TROUBLESHOOTER_PARAMS_A;

     P_SP_TROUBLESHOOTER_PARAMS_W = ^_SP_TROUBLESHOOTER_PARAMS_W;
     _SP_TROUBLESHOOTER_PARAMS_W = record
          ClassInstallHeader : SP_CLASSINSTALL_HEADER;
          ChmFile : array[0..(MAX_PATH)-1] of WCHAR;
          HtmlTroubleShooter : array[0..(MAX_PATH)-1] of WCHAR;
       end;
     SP_TROUBLESHOOTER_PARAMS_W = _SP_TROUBLESHOOTER_PARAMS_W;
     PSP_TROUBLESHOOTER_PARAMS_W = ^SP_TROUBLESHOOTER_PARAMS_W;
//     PSP_TROUBLESHOOTER_PARAMS_W = P_SP_TROUBLESHOOTER_PARAMS_W;
     PPSP_TROUBLESHOOTER_PARAMS_W = ^PSP_TROUBLESHOOTER_PARAMS_W;

     P_SP_POWERMESSAGEWAKE_PARAMS_A = ^_SP_POWERMESSAGEWAKE_PARAMS_A;
     _SP_POWERMESSAGEWAKE_PARAMS_A = record
          ClassInstallHeader : SP_CLASSINSTALL_HEADER;
          PowerMessageWake : array[0..(LINE_LEN*2)-1] of CHAR;
       end;
     SP_POWERMESSAGEWAKE_PARAMS_A = _SP_POWERMESSAGEWAKE_PARAMS_A;
     PSP_POWERMESSAGEWAKE_PARAMS_A = ^SP_POWERMESSAGEWAKE_PARAMS_A;
//     PSP_POWERMESSAGEWAKE_PARAMS_A = P_SP_POWERMESSAGEWAKE_PARAMS_A;
     PPSP_POWERMESSAGEWAKE_PARAMS_A = ^PSP_POWERMESSAGEWAKE_PARAMS_A;

     P_SP_POWERMESSAGEWAKE_PARAMS_W = ^_SP_POWERMESSAGEWAKE_PARAMS_W;
     _SP_POWERMESSAGEWAKE_PARAMS_W = record
          ClassInstallHeader : SP_CLASSINSTALL_HEADER;
          PowerMessageWake : array[0..(LINE_LEN*2)-1] of WCHAR;
       end;
     SP_POWERMESSAGEWAKE_PARAMS_W = _SP_POWERMESSAGEWAKE_PARAMS_W;
     PSP_POWERMESSAGEWAKE_PARAMS_W = ^SP_POWERMESSAGEWAKE_PARAMS_W;
//     PSP_POWERMESSAGEWAKE_PARAMS_W = P_SP_POWERMESSAGEWAKE_PARAMS_W;
     PPSP_POWERMESSAGEWAKE_PARAMS_W = ^PSP_POWERMESSAGEWAKE_PARAMS_W;

     P_SP_DRVINFO_DATA_V2_A = ^_SP_DRVINFO_DATA_V2_A;
     _SP_DRVINFO_DATA_V2_A = record
          cbSize : DWORD;
          DriverType : DWORD;
          Reserved : ULONG_PTR;
          Description : array[0..(LINE_LEN)-1] of CHAR;
          MfgName : array[0..(LINE_LEN)-1] of CHAR;
          ProviderName : array[0..(LINE_LEN)-1] of CHAR;
          DriverDate : FILETIME;
          DriverVersion : DWORDLONG;
       end;
     SP_DRVINFO_DATA_V2_A = _SP_DRVINFO_DATA_V2_A;
     PSP_DRVINFO_DATA_V2_A = ^SP_DRVINFO_DATA_V2_A;
//     PSP_DRVINFO_DATA_V2_A = P_SP_DRVINFO_DATA_V2_A;
     PPSP_DRVINFO_DATA_V2_A = ^PSP_DRVINFO_DATA_V2_A;

     P_SP_DRVINFO_DATA_V2_W = ^_SP_DRVINFO_DATA_V2_W;
     _SP_DRVINFO_DATA_V2_W = record
          cbSize : DWORD;
          DriverType : DWORD;
          Reserved : ULONG_PTR;
          Description : array[0..(LINE_LEN)-1] of WCHAR;
          MfgName : array[0..(LINE_LEN)-1] of WCHAR;
          ProviderName : array[0..(LINE_LEN)-1] of WCHAR;
          DriverDate : FILETIME;
          DriverVersion : DWORDLONG;
       end;
     SP_DRVINFO_DATA_V2_W = _SP_DRVINFO_DATA_V2_W;
     PSP_DRVINFO_DATA_V2_W = ^SP_DRVINFO_DATA_V2_W;
//     PSP_DRVINFO_DATA_V2_W = P_SP_DRVINFO_DATA_V2_W;
     PPSP_DRVINFO_DATA_V2_W = ^PSP_DRVINFO_DATA_V2_W;

     P_SP_DRVINFO_DATA_V1_A = ^_SP_DRVINFO_DATA_V1_A;
     _SP_DRVINFO_DATA_V1_A = record
          cbSize : DWORD;
          DriverType : DWORD;
          Reserved : ULONG_PTR;
          Description : array[0..(LINE_LEN)-1] of CHAR;
          MfgName : array[0..(LINE_LEN)-1] of CHAR;
          ProviderName : array[0..(LINE_LEN)-1] of CHAR;
       end;
     SP_DRVINFO_DATA_V1_A = _SP_DRVINFO_DATA_V1_A;
     PSP_DRVINFO_DATA_V1_A = ^SP_DRVINFO_DATA_V1_A;
//     PSP_DRVINFO_DATA_V1_A = P_SP_DRVINFO_DATA_V1_A;
     PPSP_DRVINFO_DATA_V1_A = ^PSP_DRVINFO_DATA_V1_A;

     P_SP_DRVINFO_DATA_V1_W = ^_SP_DRVINFO_DATA_V1_W;
     _SP_DRVINFO_DATA_V1_W = record
          cbSize : DWORD;
          DriverType : DWORD;
          Reserved : ULONG_PTR;
          Description : array[0..(LINE_LEN)-1] of WCHAR;
          MfgName : array[0..(LINE_LEN)-1] of WCHAR;
          ProviderName : array[0..(LINE_LEN)-1] of WCHAR;
       end;
     SP_DRVINFO_DATA_V1_W = _SP_DRVINFO_DATA_V1_W;
     PSP_DRVINFO_DATA_V1_W = ^SP_DRVINFO_DATA_V1_W;
//     PSP_DRVINFO_DATA_V1_W = P_SP_DRVINFO_DATA_V1_W;
     PPSP_DRVINFO_DATA_V1_W = ^PSP_DRVINFO_DATA_V1_W;
{$ifdef UNICODE}

     PSP_DRVINFO_DATA_V1 = ^SP_DRVINFO_DATA_V1;
     SP_DRVINFO_DATA_V1 = SP_DRVINFO_DATA_V1_W;
     PSP_DRVINFO_DATA_V1 = PSP_DRVINFO_DATA_V1;
     PPSP_DRVINFO_DATA_V1 = ^PSP_DRVINFO_DATA_V1;

     PSP_DRVINFO_DATA_V2 = ^SP_DRVINFO_DATA_V2;
     SP_DRVINFO_DATA_V2 = SP_DRVINFO_DATA_V2_W;
     PSP_DRVINFO_DATA_V2 = PSP_DRVINFO_DATA_V2;
     PPSP_DRVINFO_DATA_V2 = ^PSP_DRVINFO_DATA_V2;
{$else}

  type

     PSP_DRVINFO_DATA_V1 = ^SP_DRVINFO_DATA_V1;
     SP_DRVINFO_DATA_V1 = SP_DRVINFO_DATA_V1_A;
//     PSP_DRVINFO_DATA_V1 = PSP_DRVINFO_DATA_V1;
     PPSP_DRVINFO_DATA_V1 = ^PSP_DRVINFO_DATA_V1;

     PSP_DRVINFO_DATA_V2 = ^SP_DRVINFO_DATA_V2;
     SP_DRVINFO_DATA_V2 = SP_DRVINFO_DATA_V2_A;
//     PSP_DRVINFO_DATA_V2 = PSP_DRVINFO_DATA_V2;
     PPSP_DRVINFO_DATA_V2 = ^PSP_DRVINFO_DATA_V2;
{$endif}
{$ifdef USE_SP_DRVINFO_DATA_V1}

  type

     PSP_DRVINFO_DATA_A = ^SP_DRVINFO_DATA_A;
     SP_DRVINFO_DATA_A = SP_DRVINFO_DATA_V1_A;
//     PSP_DRVINFO_DATA_A = PSP_DRVINFO_DATA_A;
     PPSP_DRVINFO_DATA_A = ^PSP_DRVINFO_DATA_A;

     PSP_DRVINFO_DATA_W = ^SP_DRVINFO_DATA_W;
     SP_DRVINFO_DATA_W = SP_DRVINFO_DATA_V1_W;
//     PSP_DRVINFO_DATA_W = PSP_DRVINFO_DATA_W;
     PPSP_DRVINFO_DATA_W = ^PSP_DRVINFO_DATA_W;

     PSP_DRVINFO_DATA = ^SP_DRVINFO_DATA;
     SP_DRVINFO_DATA = SP_DRVINFO_DATA_V1;
     PSP_DRVINFO_DATA = PSP_DRVINFO_DATA;
     PPSP_DRVINFO_DATA = ^PSP_DRVINFO_DATA;
{$else}

  type

     PSP_DRVINFO_DATA_A = ^SP_DRVINFO_DATA_A;
     SP_DRVINFO_DATA_A = SP_DRVINFO_DATA_V2_A;
//     PSP_DRVINFO_DATA_A = PSP_DRVINFO_DATA_A;
     PPSP_DRVINFO_DATA_A = ^PSP_DRVINFO_DATA_A;

     PSP_DRVINFO_DATA_W = ^SP_DRVINFO_DATA_W;
     SP_DRVINFO_DATA_W = SP_DRVINFO_DATA_V2_W;
//     PSP_DRVINFO_DATA_W = PSP_DRVINFO_DATA_W;
     PPSP_DRVINFO_DATA_W = ^PSP_DRVINFO_DATA_W;

     PSP_DRVINFO_DATA = ^SP_DRVINFO_DATA;
     SP_DRVINFO_DATA = SP_DRVINFO_DATA_V2;
//     PSP_DRVINFO_DATA = PSP_DRVINFO_DATA;
     PPSP_DRVINFO_DATA = ^PSP_DRVINFO_DATA;
{$endif}

  type

     PSP_DETSIG_CMPPROC = function (_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:PSP_DEVINFO_DATA; _para4:PVOID):DWORD;

     P_SP_DRVINFO_DETAIL_DATA_A = ^_SP_DRVINFO_DETAIL_DATA_A;
     _SP_DRVINFO_DETAIL_DATA_A = record
          cbSize : DWORD;
          InfDate : FILETIME;
          CompatIDsOffset : DWORD;
          CompatIDsLength : DWORD;
          Reserved : ULONG_PTR;
          SectionName : array[0..(LINE_LEN)-1] of CHAR;
          InfFileName : array[0..(MAX_PATH)-1] of CHAR;
          DrvDescription : array[0..(LINE_LEN)-1] of CHAR;
          HardwareID : array[0..(ANYSIZE_ARRAY)-1] of CHAR;
       end;
     SP_DRVINFO_DETAIL_DATA_A = _SP_DRVINFO_DETAIL_DATA_A;
     PSP_DRVINFO_DETAIL_DATA_A = ^SP_DRVINFO_DETAIL_DATA_A;
//     PSP_DRVINFO_DETAIL_DATA_A = P_SP_DRVINFO_DETAIL_DATA_A;
     PPSP_DRVINFO_DETAIL_DATA_A = ^PSP_DRVINFO_DETAIL_DATA_A;

     P_SP_DRVINFO_DETAIL_DATA_W = ^_SP_DRVINFO_DETAIL_DATA_W;
     _SP_DRVINFO_DETAIL_DATA_W = record
          cbSize : DWORD;
          InfDate : FILETIME;
          CompatIDsOffset : DWORD;
          CompatIDsLength : DWORD;
          Reserved : ULONG_PTR;
          SectionName : array[0..(LINE_LEN)-1] of WCHAR;
          InfFileName : array[0..(MAX_PATH)-1] of WCHAR;
          DrvDescription : array[0..(LINE_LEN)-1] of WCHAR;
          HardwareID : array[0..(ANYSIZE_ARRAY)-1] of WCHAR;
       end;
     SP_DRVINFO_DETAIL_DATA_W = _SP_DRVINFO_DETAIL_DATA_W;
     PSP_DRVINFO_DETAIL_DATA_W = ^SP_DRVINFO_DETAIL_DATA_W;
//     PSP_DRVINFO_DETAIL_DATA_W = P_SP_DRVINFO_DETAIL_DATA_W;
     PPSP_DRVINFO_DETAIL_DATA_W = ^PSP_DRVINFO_DETAIL_DATA_W;

     P_SP_DRVINSTALL_PARAMS = ^_SP_DRVINSTALL_PARAMS;
     _SP_DRVINSTALL_PARAMS = record
          cbSize : DWORD;
          Rank : DWORD;
          Flags : DWORD;
          PrivateData : DWORD_PTR;
          Reserved : DWORD;
       end;
     SP_DRVINSTALL_PARAMS = _SP_DRVINSTALL_PARAMS;
     PSP_DRVINSTALL_PARAMS = ^SP_DRVINSTALL_PARAMS;
//     PSP_DRVINSTALL_PARAMS = P_SP_DRVINSTALL_PARAMS;
     PPSP_DRVINSTALL_PARAMS = ^PSP_DRVINSTALL_PARAMS;

     P_COINSTALLER_CONTEXT_DATA = ^_COINSTALLER_CONTEXT_DATA;
     _COINSTALLER_CONTEXT_DATA = record
          PostProcessing : BOOL;
          InstallResult : DWORD;
          PrivateData : PVOID;
       end;
     COINSTALLER_CONTEXT_DATA = _COINSTALLER_CONTEXT_DATA;
     PCOINSTALLER_CONTEXT_DATA = ^COINSTALLER_CONTEXT_DATA;
//     PCOINSTALLER_CONTEXT_DATA = P_COINSTALLER_CONTEXT_DATA;
     PPCOINSTALLER_CONTEXT_DATA = ^PCOINSTALLER_CONTEXT_DATA;

     P_SP_CLASSIMAGELIST_DATA = ^_SP_CLASSIMAGELIST_DATA;
     _SP_CLASSIMAGELIST_DATA = record
          cbSize : DWORD;
          ImageList : HIMAGELIST;
          Reserved : ULONG_PTR;
       end;
     SP_CLASSIMAGELIST_DATA = _SP_CLASSIMAGELIST_DATA;
     PSP_CLASSIMAGELIST_DATA = ^SP_CLASSIMAGELIST_DATA;
//     PSP_CLASSIMAGELIST_DATA = P_SP_CLASSIMAGELIST_DATA;
     PPSP_CLASSIMAGELIST_DATA = ^PSP_CLASSIMAGELIST_DATA;

     P_SP_PROPSHEETPAGE_REQUEST = ^_SP_PROPSHEETPAGE_REQUEST;
     _SP_PROPSHEETPAGE_REQUEST = record
          cbSize : DWORD;
          PageRequested : DWORD;
          DeviceInfoSet : HDEVINFO;
          DeviceInfoData : PSP_DEVINFO_DATA;
       end;
     SP_PROPSHEETPAGE_REQUEST = _SP_PROPSHEETPAGE_REQUEST;
     PSP_PROPSHEETPAGE_REQUEST = ^SP_PROPSHEETPAGE_REQUEST;
//     PSP_PROPSHEETPAGE_REQUEST = P_SP_PROPSHEETPAGE_REQUEST;
     PPSP_PROPSHEETPAGE_REQUEST = ^PSP_PROPSHEETPAGE_REQUEST;

     P_SP_BACKUP_QUEUE_PARAMS_A = ^_SP_BACKUP_QUEUE_PARAMS_A;
     _SP_BACKUP_QUEUE_PARAMS_A = record
          cbSize : DWORD;
          FullInfPath : array[0..(MAX_PATH)-1] of CHAR;
          FilenameOffset : Integer;
       end;
     SP_BACKUP_QUEUE_PARAMS_A = _SP_BACKUP_QUEUE_PARAMS_A;
     PSP_BACKUP_QUEUE_PARAMS_A = ^SP_BACKUP_QUEUE_PARAMS_A;
//     PSP_BACKUP_QUEUE_PARAMS_A = P_SP_BACKUP_QUEUE_PARAMS_A;
     PPSP_BACKUP_QUEUE_PARAMS_A = ^PSP_BACKUP_QUEUE_PARAMS_A;

     P_SP_BACKUP_QUEUE_PARAMS_W = ^_SP_BACKUP_QUEUE_PARAMS_W;
     _SP_BACKUP_QUEUE_PARAMS_W = record
          cbSize : DWORD;
          FullInfPath : array[0..(MAX_PATH)-1] of WCHAR;
          FilenameOffset : Integer;
       end;
     SP_BACKUP_QUEUE_PARAMS_W = _SP_BACKUP_QUEUE_PARAMS_W;
     PSP_BACKUP_QUEUE_PARAMS_W = ^SP_BACKUP_QUEUE_PARAMS_W;
//     PSP_BACKUP_QUEUE_PARAMS_W = P_SP_BACKUP_QUEUE_PARAMS_W;
     PPSP_BACKUP_QUEUE_PARAMS_W = ^PSP_BACKUP_QUEUE_PARAMS_W;
{$ifdef UNICODE}

     PSP_ORIGINAL_FILE_INFO = ^SP_ORIGINAL_FILE_INFO;
     SP_ORIGINAL_FILE_INFO = SP_ORIGINAL_FILE_INFO_W;
     PSP_ORIGINAL_FILE_INFO = PSP_ORIGINAL_FILE_INFO;
     PPSP_ORIGINAL_FILE_INFO = ^PSP_ORIGINAL_FILE_INFO;

     PFILEPATHS = ^FILEPATHS;
     FILEPATHS = FILEPATHS_W;
     PFILEPATHS = PFILEPATHS;
     PPFILEPATHS = ^PFILEPATHS;

     PSOURCE_MEDIA = ^SOURCE_MEDIA;
     SOURCE_MEDIA = SOURCE_MEDIA_W;
     PSOURCE_MEDIA = PSOURCE_MEDIA;
     PPSOURCE_MEDIA = ^PSOURCE_MEDIA;

     PCABINET_INFO = ^CABINET_INFO;
     CABINET_INFO = CABINET_INFO_W;
     PCABINET_INFO = PCABINET_INFO;
     PPCABINET_INFO = ^PCABINET_INFO;

     PFILE_IN_CABINET_INFO = ^FILE_IN_CABINET_INFO;
     FILE_IN_CABINET_INFO = FILE_IN_CABINET_INFO_W;
     PFILE_IN_CABINET_INFO = PFILE_IN_CABINET_INFO;
     PPFILE_IN_CABINET_INFO = ^PFILE_IN_CABINET_INFO;

     PSP_FILE_COPY_PARAMS = ^SP_FILE_COPY_PARAMS;
     SP_FILE_COPY_PARAMS = SP_FILE_COPY_PARAMS_W;
     PSP_FILE_COPY_PARAMS = SP_FILE_COPY_PARAMS;
     PPSP_FILE_COPY_PARAMS = ^PSP_FILE_COPY_PARAMS;

     PSP_DEVICE_INTERFACE_DETAIL_DATA = ^SP_DEVICE_INTERFACE_DETAIL_DATA;
     SP_DEVICE_INTERFACE_DETAIL_DATA = SP_DEVICE_INTERFACE_DETAIL_DATA_W;
     PSP_DEVICE_INTERFACE_DETAIL_DATA = PSP_DEVICE_INTERFACE_DETAIL_DATA;
     PPSP_DEVICE_INTERFACE_DETAIL_DATA = ^PSP_DEVICE_INTERFACE_DETAIL_DATA;

     PSP_INTERFACE_DEVICE_DETAIL_DATA = ^SP_INTERFACE_DEVICE_DETAIL_DATA;
     SP_INTERFACE_DEVICE_DETAIL_DATA = SP_INTERFACE_DEVICE_DETAIL_DATA_W;
     PSP_INTERFACE_DEVICE_DETAIL_DATA = PSP_INTERFACE_DEVICE_DETAIL_DATA;
     PPSP_INTERFACE_DEVICE_DETAIL_DATA = ^PSP_INTERFACE_DEVICE_DETAIL_DATA;
  { deprecated  }

     PSP_DEVINFO_LIST_DETAIL_DATA = ^SP_DEVINFO_LIST_DETAIL_DATA;
     SP_DEVINFO_LIST_DETAIL_DATA = SP_DEVINFO_LIST_DETAIL_DATA_W;
     PSP_DEVINFO_LIST_DETAIL_DATA = PSP_DEVINFO_LIST_DETAIL_DATA;
     PPSP_DEVINFO_LIST_DETAIL_DATA = ^PSP_DEVINFO_LIST_DETAIL_DATA;

     PSP_DEVINSTALL_PARAMS = ^SP_DEVINSTALL_PARAMS;
     SP_DEVINSTALL_PARAMS = SP_DEVINSTALL_PARAMS_W;
     PSP_DEVINSTALL_PARAMS = PSP_DEVINSTALL_PARAMS;
     PPSP_DEVINSTALL_PARAMS = ^PSP_DEVINSTALL_PARAMS;

     PSP_SELECTDEVICE_PARAMS = ^SP_SELECTDEVICE_PARAMS;
     SP_SELECTDEVICE_PARAMS = SP_SELECTDEVICE_PARAMS_W;
     PSP_SELECTDEVICE_PARAMS = PSP_SELECTDEVICE_PARAMS;
     PPSP_SELECTDEVICE_PARAMS = ^PSP_SELECTDEVICE_PARAMS;

     PSP_TROUBLESHOOTER_PARAMS = ^SP_TROUBLESHOOTER_PARAMS;
     SP_TROUBLESHOOTER_PARAMS = SP_TROUBLESHOOTER_PARAMS_W;
     PSP_TROUBLESHOOTER_PARAMS = PSP_TROUBLESHOOTER_PARAMS;
     PPSP_TROUBLESHOOTER_PARAMS = ^PSP_TROUBLESHOOTER_PARAMS;

     PSP_POWERMESSAGEWAKE_PARAMS = ^SP_POWERMESSAGEWAKE_PARAMS;
     SP_POWERMESSAGEWAKE_PARAMS = SP_POWERMESSAGEWAKE_PARAMS_W;
     PSP_POWERMESSAGEWAKE_PARAMS = PSP_POWERMESSAGEWAKE_PARAMS;
     PPSP_POWERMESSAGEWAKE_PARAMS = ^PSP_POWERMESSAGEWAKE_PARAMS;

     PSP_DRVINFO_DETAIL_DATA = ^SP_DRVINFO_DETAIL_DATA;
     SP_DRVINFO_DETAIL_DATA = SP_DRVINFO_DETAIL_DATA_W;
     PSP_DRVINFO_DETAIL_DATA = PSP_DRVINFO_DETAIL_DATA;
     PPSP_DRVINFO_DETAIL_DATA = ^PSP_DRVINFO_DETAIL_DATA;

     PSP_BACKUP_QUEUE_PARAMS = ^SP_BACKUP_QUEUE_PARAMS;
     SP_BACKUP_QUEUE_PARAMS = SP_BACKUP_QUEUE_PARAMS_W;
     PSP_BACKUP_QUEUE_PARAMS = PSP_BACKUP_QUEUE_PARAMS;
     PPSP_BACKUP_QUEUE_PARAMS = ^PSP_BACKUP_QUEUE_PARAMS;

     PSP_REGISTER_CONTROL_STATUS = ^SP_REGISTER_CONTROL_STATUS;
     SP_REGISTER_CONTROL_STATUS = SP_REGISTER_CONTROL_STATUSW;
     PSP_REGISTER_CONTROL_STATUS = PSP_REGISTER_CONTROL_STATUS;
     PPSP_REGISTER_CONTROL_STATUS = ^PSP_REGISTER_CONTROL_STATUS;
{$else}

  type

     PSP_ORIGINAL_FILE_INFO = ^SP_ORIGINAL_FILE_INFO;
     SP_ORIGINAL_FILE_INFO = SP_ORIGINAL_FILE_INFO_A;
//     PSP_ORIGINAL_FILE_INFO = PSP_ORIGINAL_FILE_INFO;
     PPSP_ORIGINAL_FILE_INFO = ^PSP_ORIGINAL_FILE_INFO;

     PFILEPATHS = ^FILEPATHS;
     FILEPATHS = FILEPATHS_A;
//     PFILEPATHS = PFILEPATHS;
     PPFILEPATHS = ^PFILEPATHS;

     PSOURCE_MEDIA = ^SOURCE_MEDIA;
     SOURCE_MEDIA = SOURCE_MEDIA_A;
//     PSOURCE_MEDIA = PSOURCE_MEDIA;
     PPSOURCE_MEDIA = ^PSOURCE_MEDIA;

     PCABINET_INFO = ^CABINET_INFO;
     CABINET_INFO = CABINET_INFO_A;
//     PCABINET_INFO = PCABINET_INFO;
     PPCABINET_INFO = ^PCABINET_INFO;

     PFILE_IN_CABINET_INFO = ^FILE_IN_CABINET_INFO;
     FILE_IN_CABINET_INFO = FILE_IN_CABINET_INFO_A;
//     PFILE_IN_CABINET_INFO = PFILE_IN_CABINET_INFO;
     PPFILE_IN_CABINET_INFO = ^PFILE_IN_CABINET_INFO;

     PSP_FILE_COPY_PARAMS = ^SP_FILE_COPY_PARAMS;
     SP_FILE_COPY_PARAMS = SP_FILE_COPY_PARAMS_A;
//     PSP_FILE_COPY_PARAMS = PSP_FILE_COPY_PARAMS;
     PPSP_FILE_COPY_PARAMS = ^PSP_FILE_COPY_PARAMS;

     PSP_DEVICE_INTERFACE_DETAIL_DATA = ^SP_DEVICE_INTERFACE_DETAIL_DATA;
     SP_DEVICE_INTERFACE_DETAIL_DATA = SP_DEVICE_INTERFACE_DETAIL_DATA_A;
//     PSP_DEVICE_INTERFACE_DETAIL_DATA = PSP_DEVICE_INTERFACE_DETAIL_DATA;
     PPSP_DEVICE_INTERFACE_DETAIL_DATA = ^PSP_DEVICE_INTERFACE_DETAIL_DATA;

     PSP_INTERFACE_DEVICE_DETAIL_DATA = ^SP_INTERFACE_DEVICE_DETAIL_DATA;
     SP_INTERFACE_DEVICE_DETAIL_DATA = SP_INTERFACE_DEVICE_DETAIL_DATA_A;
//     PSP_INTERFACE_DEVICE_DETAIL_DATA = PSP_INTERFACE_DEVICE_DETAIL_DATA;
     PPSP_INTERFACE_DEVICE_DETAIL_DATA = ^PSP_INTERFACE_DEVICE_DETAIL_DATA;
  { deprecated  }

     PSP_DEVINFO_LIST_DETAIL_DATA = ^SP_DEVINFO_LIST_DETAIL_DATA;
     SP_DEVINFO_LIST_DETAIL_DATA = SP_DEVINFO_LIST_DETAIL_DATA_A;
//     PSP_DEVINFO_LIST_DETAIL_DATA = PSP_DEVINFO_LIST_DETAIL_DATA;
     PPSP_DEVINFO_LIST_DETAIL_DATA = ^PSP_DEVINFO_LIST_DETAIL_DATA;

     PSP_DEVINSTALL_PARAMS = ^SP_DEVINSTALL_PARAMS;
     SP_DEVINSTALL_PARAMS = SP_DEVINSTALL_PARAMS_A;
//     PSP_DEVINSTALL_PARAMS = PSP_DEVINSTALL_PARAMS;
     PPSP_DEVINSTALL_PARAMS = ^PSP_DEVINSTALL_PARAMS;

     PSP_SELECTDEVICE_PARAMS = ^SP_SELECTDEVICE_PARAMS;
     SP_SELECTDEVICE_PARAMS = SP_SELECTDEVICE_PARAMS_A;
//     PSP_SELECTDEVICE_PARAMS = PSP_SELECTDEVICE_PARAMS;
     PPSP_SELECTDEVICE_PARAMS = ^PSP_SELECTDEVICE_PARAMS;

     PSP_TROUBLESHOOTER_PARAMS = ^SP_TROUBLESHOOTER_PARAMS;
     SP_TROUBLESHOOTER_PARAMS = SP_TROUBLESHOOTER_PARAMS_A;
//     PSP_TROUBLESHOOTER_PARAMS = PSP_TROUBLESHOOTER_PARAMS;
     PPSP_TROUBLESHOOTER_PARAMS = ^PSP_TROUBLESHOOTER_PARAMS;

     PSP_POWERMESSAGEWAKE_PARAMS = ^SP_POWERMESSAGEWAKE_PARAMS;
     SP_POWERMESSAGEWAKE_PARAMS = SP_POWERMESSAGEWAKE_PARAMS_A;
//     PSP_POWERMESSAGEWAKE_PARAMS = PSP_POWERMESSAGEWAKE_PARAMS;
     PPSP_POWERMESSAGEWAKE_PARAMS = ^PSP_POWERMESSAGEWAKE_PARAMS;

     PSP_DRVINFO_DETAIL_DATA = ^SP_DRVINFO_DETAIL_DATA;
     SP_DRVINFO_DETAIL_DATA = SP_DRVINFO_DETAIL_DATA_A;
//     PSP_DRVINFO_DETAIL_DATA = PSP_DRVINFO_DETAIL_DATA;
     PPSP_DRVINFO_DETAIL_DATA = ^PSP_DRVINFO_DETAIL_DATA;

     PSP_BACKUP_QUEUE_PARAMS = ^SP_BACKUP_QUEUE_PARAMS;
     SP_BACKUP_QUEUE_PARAMS = SP_BACKUP_QUEUE_PARAMS_A;
//     PSP_BACKUP_QUEUE_PARAMS = PSP_BACKUP_QUEUE_PARAMS;
     PPSP_BACKUP_QUEUE_PARAMS = ^PSP_BACKUP_QUEUE_PARAMS;

     PSP_REGISTER_CONTROL_STATUS = ^SP_REGISTER_CONTROL_STATUS;
     SP_REGISTER_CONTROL_STATUS = SP_REGISTER_CONTROL_STATUSA;
//     PSP_REGISTER_CONTROL_STATUS = PSP_REGISTER_CONTROL_STATUS;
     PPSP_REGISTER_CONTROL_STATUS = ^PSP_REGISTER_CONTROL_STATUS;
{$endif}
  { UNICODE  }

  function AddTagToGroupOrderList(_para1:PCWSTR; _para2:DWORD; _para3:DWORD):LONG;external External_library name 'AddTagToGroupOrderList';

  procedure AssertFail(_para1:LPSTR; _para2:UINT; _para3:LPSTR);external External_library name 'AssertFail';

  function CaptureAndConvertAnsiArg(_para1:PCSTR; _para2:PPWSTR):DWORD;external External_library name 'CaptureAndConvertAnsiArg';

  function CaptureStringArg(_para1:PCWSTR; _para2:PPWSTR):DWORD;external External_library name 'CaptureStringArg';

  procedure CenterWindowRelativeToParent(_para1:HWND);external External_library name 'CenterWindowRelativeToParent';

  function ConcatenatePaths(_para1:LPWSTR; _para2:LPCWSTR; _para3:DWORD; _para4:LPDWORD):BOOL;external External_library name 'ConcatenatePaths';

  function DelayedMove(_para1:PCWSTR; _para2:PCWSTR):BOOL;external External_library name 'DelayedMove';

  function DoesUserHavePrivilege(_para1:PCWSTR):BOOL;external External_library name 'DoesUserHavePrivilege';

  function DuplicateString(_para1:PCWSTR):PWSTR;external External_library name 'DuplicateString';

  function EnablePrivilege(_para1:PCWSTR; _para2:BOOL):BOOL;external External_library name 'EnablePrivilege';

  function FileExists(_para1:PCWSTR; _para2:PWIN32_FIND_DATAW):BOOL;external External_library name 'FileExists';

  function GetSetFileTimestamp(_para1:PCWSTR; _para2:PFILETIME; _para3:PFILETIME; _para4:PFILETIME; _para5:BOOLEAN):DWORD;external External_library name 'GetSetFileTimestamp';

  function GetVersionInfoFromImage(_para1:LPWSTR; _para2:PULARGE_INTEGER; _para3:LPWORD):BOOL;external External_library name 'GetVersionInfoFromImage';

  function IsUserAdmin:BOOL;external External_library name 'IsUserAdmin';

  function MultiByteToUnicode(_para1:PCSTR; _para2:UINT):PWSTR;external External_library name 'MultiByteToUnicode';

  procedure MyFree(_para1:PVOID);external External_library name 'MyFree';

  function MyGetFileTitle(_para1:PCWSTR):PWSTR;external External_library name 'MyGetFileTitle';

  function MyMalloc(_para1:DWORD):PVOID;external External_library name 'MyMalloc';

  function MyRealloc(_para1:PVOID; _para2:DWORD):PVOID;external External_library name 'MyRealloc';

  function QueryRegistryValue(_para1:HKEY; _para2:PCWSTR; _para3:PPBYTE; _para4:PDWORD; _para5:PDWORD):LONG;external External_library name 'QueryRegistryValue';

//  function RetreiveFileSecurity(_para1:PCWSTR; _para2:PPSECURITY_DESCRIPTOR):DWORD;external External_library name 'RetreiveFileSecurity';

  function SetupAddInstallSectionToDiskSpaceListA(_para1:HDSKSPC; _para2:HINF; _para3:HINF; _para4:PCSTR; _para5:PVOID; 
             _para6:UINT):BOOL;external External_library name 'SetupAddInstallSectionToDiskSpaceListA';

  function SetupAddInstallSectionToDiskSpaceListW(_para1:HDSKSPC; _para2:HINF; _para3:HINF; _para4:PCWSTR; _para5:PVOID; 
             _para6:UINT):BOOL;external External_library name 'SetupAddInstallSectionToDiskSpaceListW';

  function SetupAddSectionToDiskSpaceListA(_para1:HDSKSPC; _para2:HINF; _para3:HINF; _para4:PCSTR; _para5:UINT; 
             _para6:PVOID; _para7:UINT):BOOL;external External_library name 'SetupAddSectionToDiskSpaceListA';

  function SetupAddSectionToDiskSpaceListW(_para1:HDSKSPC; _para2:HINF; _para3:HINF; _para4:PCWSTR; _para5:UINT; 
             _para6:PVOID; _para7:UINT):BOOL;external External_library name 'SetupAddSectionToDiskSpaceListW';

  function SetupAddToDiskSpaceListA(_para1:HDSKSPC; _para2:PCSTR; _para3:LONGLONG; _para4:UINT; _para5:PVOID; 
             _para6:UINT):BOOL;external External_library name 'SetupAddToDiskSpaceListA';

  function SetupAddToDiskSpaceListW(_para1:HDSKSPC; _para2:PCWSTR; _para3:LONGLONG; _para4:UINT; _para5:PVOID; 
             _para6:UINT):BOOL;external External_library name 'SetupAddToDiskSpaceListW';

  function SetupAddToSourceListA(_para1:DWORD; _para2:PCSTR):BOOL;external External_library name 'SetupAddToSourceListA';

  function SetupAddToSourceListW(_para1:DWORD; _para2:PCWSTR):BOOL;external External_library name 'SetupAddToSourceListW';

  function SetupAdjustDiskSpaceListA(_para1:HDSKSPC; _para2:LPCSTR; _para3:LONGLONG; _para4:PVOID; _para5:UINT):BOOL;external External_library name 'SetupAdjustDiskSpaceListA';

  function SetupAdjustDiskSpaceListW(_para1:HDSKSPC; _para2:LPCWSTR; _para3:LONGLONG; _para4:PVOID; _para5:UINT):BOOL;external External_library name 'SetupAdjustDiskSpaceListW';

  function SetupBackupErrorA(_para1:HWND; _para2:PCSTR; _para3:PCSTR; _para4:PCSTR; _para5:UINT; 
             _para6:DWORD):UINT;external External_library name 'SetupBackupErrorA';

  function SetupBackupErrorW(_para1:HWND; _para2:PCWSTR; _para3:PCWSTR; _para4:PCWSTR; _para5:UINT; 
             _para6:DWORD):UINT;external External_library name 'SetupBackupErrorW';

  function SetupCancelTemporary:BOOL;external External_library name 'SetupCancelTemporary';

  function SetupCloseFileQueue(_para1:HSPFILEQ):BOOL;external External_library name 'SetupCloseFileQueue';

  procedure SetupCloseInfFile(_para1:HINF);external External_library name 'SetupCloseInfFile';

  procedure SetupCloseLog;external External_library name 'SetupCloseLog';

  function SetupCommitFileQueueA(_para1:HWND; _para2:HSPFILEQ; _para3:PSP_FILE_CALLBACK_A; _para4:PVOID):BOOL;external External_library name 'SetupCommitFileQueueA';

  function SetupCommitFileQueueW(_para1:HWND; _para2:HSPFILEQ; _para3:PSP_FILE_CALLBACK_W; _para4:PVOID):BOOL;external External_library name 'SetupCommitFileQueueW';

  function SetupCopyErrorA(_para1:HWND; _para2:PCSTR; _para3:PCSTR; _para4:PCSTR; _para5:PCSTR; 
             _para6:PCSTR; _para7:UINT; _para8:DWORD; _para9:PSTR; _para10:DWORD; 
             _para11:PDWORD):UINT;external External_library name 'SetupCopyErrorA';

  function SetupCopyErrorW(_para1:HWND; _para2:PCWSTR; _para3:PCWSTR; _para4:PCWSTR; _para5:PCWSTR; 
             _para6:PCWSTR; _para7:UINT; _para8:DWORD; _para9:PWSTR; _para10:DWORD; 
             _para11:PDWORD):UINT;external External_library name 'SetupCopyErrorW';

  function SetupCopyOEMInfA(_para1:PCSTR; _para2:PCSTR; _para3:DWORD; _para4:DWORD; _para5:PSTR; 
             _para6:DWORD; _para7:PDWORD; _para8:PPSTR):BOOL;external External_library name 'SetupCopyOEMInfA';

  function SetupCopyOEMInfW(_para1:PCWSTR; _para2:PCWSTR; _para3:DWORD; _para4:DWORD; _para5:PWSTR; 
             _para6:DWORD; _para7:PDWORD; _para8:PPWSTR):BOOL;external External_library name 'SetupCopyOEMInfW';

  function SetupCreateDiskSpaceListA(_para1:PVOID; _para2:DWORD; _para3:UINT):HDSKSPC;external External_library name 'SetupCreateDiskSpaceListA';

  function SetupCreateDiskSpaceListW(_para1:PVOID; _para2:DWORD; _para3:UINT):HDSKSPC;external External_library name 'SetupCreateDiskSpaceListW';

  function SetupDecompressOrCopyFileA(_para1:PCSTR; _para2:PCSTR; _para3:PUINT):DWORD;external External_library name 'SetupDecompressOrCopyFileA';

  function SetupDecompressOrCopyFileW(_para1:PCWSTR; _para2:PCWSTR; _para3:PUINT):DWORD;external External_library name 'SetupDecompressOrCopyFileW';

  function SetupDefaultQueueCallbackA(_para1:PVOID; _para2:UINT; _para3:UINT_PTR; _para4:UINT_PTR):UINT;external External_library name 'SetupDefaultQueueCallbackA';

  function SetupDefaultQueueCallbackW(_para1:PVOID; _para2:UINT; _para3:UINT_PTR; _para4:UINT_PTR):UINT;external External_library name 'SetupDefaultQueueCallbackW';

  function SetupDeleteErrorA(_para1:HWND; _para2:PCSTR; _para3:PCSTR; _para4:UINT; _para5:DWORD):UINT;external External_library name 'SetupDeleteErrorA';

  function SetupDeleteErrorW(_para1:HWND; _para2:PCWSTR; _para3:PCWSTR; _para4:UINT; _para5:DWORD):UINT;external External_library name 'SetupDeleteErrorW';

  function SetupDestroyDiskSpaceList(_para1:HDSKSPC):BOOL;external External_library name 'SetupDestroyDiskSpaceList';

  function SetupDiAskForOEMDisk(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA):BOOL;external External_library name 'SetupDiAskForOEMDisk';

  function SetupDiBuildClassInfoList(_para1:DWORD; _para2:LPGUID; _para3:DWORD; _para4:PDWORD):BOOL;external External_library name 'SetupDiBuildClassInfoList';

  function SetupDiBuildClassInfoListExA(_para1:DWORD; _para2:LPGUID; _para3:DWORD; _para4:PDWORD; _para5:PCSTR; 
             _para6:PVOID):BOOL;external External_library name 'SetupDiBuildClassInfoListExA';

  function SetupDiBuildClassInfoListExW(_para1:DWORD; _para2:LPGUID; _para3:DWORD; _para4:PDWORD; _para5:PCWSTR; 
             _para6:PVOID):BOOL;external External_library name 'SetupDiBuildClassInfoListExW';

  function SetupDiBuildDriverInfoList(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:DWORD):BOOL;external External_library name 'SetupDiBuildDriverInfoList';

  function SetupDiCallClassInstaller(_para1:DI_FUNCTION; _para2:HDEVINFO; _para3:PSP_DEVINFO_DATA):BOOL;external External_library name 'SetupDiCallClassInstaller';

  function SetupDiCancelDriverInfoSearch(_para1:HDEVINFO):BOOL;external External_library name 'SetupDiCancelDriverInfoSearch';

  function SetupDiChangeState(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA):BOOL;external External_library name 'SetupDiChangeState';

  function SetupDiClassGuidsFromNameA(_para1:PCSTR; _para2:LPGUID; _para3:DWORD; _para4:PDWORD):BOOL;external External_library name 'SetupDiClassGuidsFromNameA';

  function SetupDiClassGuidsFromNameW(_para1:PCWSTR; _para2:LPGUID; _para3:DWORD; _para4:PDWORD):BOOL;external External_library name 'SetupDiClassGuidsFromNameW';

  function SetupDiClassGuidsFromNameExA(_para1:PCSTR; _para2:LPGUID; _para3:DWORD; _para4:PDWORD; _para5:PCSTR; 
             _para6:PVOID):BOOL;external External_library name 'SetupDiClassGuidsFromNameExA';

  function SetupDiClassGuidsFromNameExW(_para1:PCWSTR; _para2:LPGUID; _para3:DWORD; _para4:PDWORD; _para5:PCWSTR; 
             _para6:PVOID):BOOL;external External_library name 'SetupDiClassGuidsFromNameExW';

(* Const before type ignored *)
  function SetupDiClassNameFromGuidA(_para1:PGUID; _para2:PSTR; _para3:DWORD; _para4:PDWORD):BOOL;external External_library name 'SetupDiClassNameFromGuidA';

(* Const before type ignored *)
  function SetupDiClassNameFromGuidW(_para1:PGUID; _para2:PWSTR; _para3:DWORD; _para4:PDWORD):BOOL;external External_library name 'SetupDiClassNameFromGuidW';

(* Const before type ignored *)
  function SetupDiClassNameFromGuidExA(_para1:PGUID; _para2:PSTR; _para3:DWORD; _para4:PDWORD; _para5:PCSTR; 
             _para6:PVOID):BOOL;external External_library name 'SetupDiClassNameFromGuidExA';

(* Const before type ignored *)
  function SetupDiClassNameFromGuidExW(_para1:PGUID; _para2:PWSTR; _para3:DWORD; _para4:PDWORD; _para5:PCWSTR; 
             _para6:PVOID):BOOL;external External_library name 'SetupDiClassNameFromGuidExW';

(* Const before type ignored *)
  function SetupDiCreateDeviceInfoA(_para1:HDEVINFO; _para2:PCSTR; _para3:PGUID; _para4:PCSTR; _para5:HWND; 
             _para6:DWORD; _para7:PSP_DEVINFO_DATA):BOOL;external External_library name 'SetupDiCreateDeviceInfoA';

(* Const before type ignored *)
  function SetupDiCreateDeviceInfoW(_para1:HDEVINFO; _para2:PCWSTR; _para3:PGUID; _para4:PCWSTR; _para5:HWND; 
             _para6:DWORD; _para7:PSP_DEVINFO_DATA):BOOL;external External_library name 'SetupDiCreateDeviceInfoW';

(* Const before type ignored *)
  function SetupDiCreateDeviceInfoList(_para1:PGUID; _para2:HWND):HDEVINFO;external External_library name 'SetupDiCreateDeviceInfoList';

(* Const before type ignored *)
  function SetupDiCreateDeviceInfoListExA(_para1:PGUID; _para2:HWND; _para3:PCSTR; _para4:PVOID):HDEVINFO;external External_library name 'SetupDiCreateDeviceInfoListExA';

(* Const before type ignored *)
  function SetupDiCreateDeviceInfoListExW(_para1:PGUID; _para2:HWND; _para3:PCWSTR; _para4:PVOID):HDEVINFO;external External_library name 'SetupDiCreateDeviceInfoListExW';

(* Const before type ignored *)
  function SetupDiCreateDeviceInterfaceA(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:PGUID; _para4:PCSTR; _para5:DWORD; 
             _para6:PSP_DEVICE_INTERFACE_DATA):BOOL;external External_library name 'SetupDiCreateDeviceInterfaceA';

(* Const before type ignored *)
  function SetupDiCreateDeviceInterfaceW(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:PGUID; _para4:PCWSTR; _para5:DWORD; 
             _para6:PSP_DEVICE_INTERFACE_DATA):BOOL;external External_library name 'SetupDiCreateDeviceInterfaceW';

  function SetupDiCreateDeviceInterfaceRegKeyA(_para1:HDEVINFO; _para2:PSP_DEVICE_INTERFACE_DATA; _para3:DWORD; _para4:REGSAM; _para5:HINF; 
             _para6:PCSTR):HKEY;external External_library name 'SetupDiCreateDeviceInterfaceRegKeyA';

  function SetupDiCreateDeviceInterfaceRegKeyW(_para1:HDEVINFO; _para2:PSP_DEVICE_INTERFACE_DATA; _para3:DWORD; _para4:REGSAM; _para5:HINF; 
             _para6:PCWSTR):HKEY;external External_library name 'SetupDiCreateDeviceInterfaceRegKeyW';

  function SetupDiCreateDevRegKeyA(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:DWORD; _para4:DWORD; _para5:DWORD; 
             _para6:HINF; _para7:PCSTR):HKEY;external External_library name 'SetupDiCreateDevRegKeyA';

  function SetupDiCreateDevRegKeyW(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:DWORD; _para4:DWORD; _para5:DWORD; 
             _para6:HINF; _para7:PCWSTR):HKEY;external External_library name 'SetupDiCreateDevRegKeyW';

  function SetupDiDeleteDeviceInfo(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA):BOOL;external External_library name 'SetupDiDeleteDeviceInfo';

  function SetupDiDeleteDeviceInterfaceData(_para1:HDEVINFO; _para2:PSP_DEVICE_INTERFACE_DATA):BOOL;external External_library name 'SetupDiDeleteDeviceInterfaceData';

  function SetupDiDeleteDeviceInterfaceRegKey(_para1:HDEVINFO; _para2:PSP_DEVICE_INTERFACE_DATA; _para3:DWORD):BOOL;external External_library name 'SetupDiDeleteDeviceInterfaceRegKey';

  function SetupDiDeleteDevRegKey(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:DWORD; _para4:DWORD; _para5:DWORD):BOOL;external External_library name 'SetupDiDeleteDevRegKey';

  function SetupDiDestroyClassImageList(_para1:PSP_CLASSIMAGELIST_DATA):BOOL;external External_library name 'SetupDiDestroyClassImageList';

  function SetupDiDestroyDeviceInfoList(_para1:HDEVINFO):BOOL;external External_library name 'SetupDiDestroyDeviceInfoList';

  function SetupDiDestroyDriverInfoList(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:DWORD):BOOL;external External_library name 'SetupDiDestroyDriverInfoList';

//  function SetupDiDrawMiniIcon(_para1:HDC; _para2:RECT; _para3:INT; _para4:DWORD):INT;external External_library name 'SetupDiDrawMiniIcon';

  function SetupDiEnumDeviceInfo(_para1:HDEVINFO; _para2:DWORD; _para3:PSP_DEVINFO_DATA):BOOL;external External_library name 'SetupDiEnumDeviceInfo';

(* Const before type ignored *)
  function SetupDiEnumDeviceInterfaces(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:PGUID; _para4:DWORD; _para5:PSP_DEVICE_INTERFACE_DATA):BOOL;external External_library name 'SetupDiEnumDeviceInterfaces';

  function SetupDiEnumDriverInfoA(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:DWORD; _para4:DWORD; _para5:PSP_DRVINFO_DATA_A):BOOL;external External_library name 'SetupDiEnumDriverInfoA';

  function SetupDiEnumDriverInfoW(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:DWORD; _para4:DWORD; _para5:PSP_DRVINFO_DATA_W):BOOL;external External_library name 'SetupDiEnumDriverInfoW';

  function SetupDiGetActualSectionToInstallA(_para1:HINF; _para2:PCSTR; _para3:PSTR; _para4:DWORD; _para5:PDWORD; 
             _para6:PPSTR):BOOL;external External_library name 'SetupDiGetActualSectionToInstallA';

  function SetupDiGetActualSectionToInstallExA(_para1:HINF; _para2:PCSTR; _para3:PSP_ALTPLATFORM_INFO; _para4:PSTR; _para5:DWORD; 
             _para6:PDWORD; _para7:PPSTR; _para8:PVOID):BOOL;external External_library name 'SetupDiGetActualSectionToInstallExA';

  function SetupDiGetActualSectionToInstallExW(_para1:HINF; _para2:PCWSTR; _para3:PSP_ALTPLATFORM_INFO; _para4:PWSTR; _para5:DWORD; 
             _para6:PDWORD; _para7:PPWSTR; _para8:PVOID):BOOL;external External_library name 'SetupDiGetActualSectionToInstallExW';

  function SetupDiGetActualSectionToInstallW(_para1:HINF; _para2:PCWSTR; _para3:PWSTR; _para4:DWORD; _para5:PDWORD; 
             _para6:PPWSTR):BOOL;external External_library name 'SetupDiGetActualSectionToInstallW';

(* Const before type ignored *)
  function SetupDiGetClassBitmapIndex(_para1:PGUID; _para2:PINT):BOOL;external External_library name 'SetupDiGetClassBitmapIndex';

(* Const before type ignored *)
  function SetupDiGetClassDescriptionA(_para1:PGUID; _para2:PSTR; _para3:DWORD; _para4:PDWORD):BOOL;external External_library name 'SetupDiGetClassDescriptionA';

(* Const before type ignored *)
  function SetupDiGetClassDescriptionW(_para1:PGUID; _para2:PWSTR; _para3:DWORD; _para4:PDWORD):BOOL;external External_library name 'SetupDiGetClassDescriptionW';

(* Const before type ignored *)
  function SetupDiGetClassDescriptionExA(_para1:PGUID; _para2:PSTR; _para3:DWORD; _para4:PDWORD; _para5:PCSTR; 
             _para6:PVOID):BOOL;external External_library name 'SetupDiGetClassDescriptionExA';

(* Const before type ignored *)
  function SetupDiGetClassDescriptionExW(_para1:PGUID; _para2:PWSTR; _para3:DWORD; _para4:PDWORD; _para5:PCWSTR; 
             _para6:PVOID):BOOL;external External_library name 'SetupDiGetClassDescriptionExW';

//  function SetupDiGetClassDevPropertySheetsA(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:LPPROPSHEETHEADERA; _para4:DWORD; _para5:PDWORD;
//             _para6:DWORD):BOOL;external External_library name 'SetupDiGetClassDevPropertySheetsA';

//  function SetupDiGetClassDevPropertySheetsW(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:LPPROPSHEETHEADERW; _para4:DWORD; _para5:PDWORD;
//             _para6:DWORD):BOOL;external External_library name 'SetupDiGetClassDevPropertySheetsW';

(* Const before type ignored *)
  function SetupDiGetClassDevsA(_para1:PGUID; _para2:PCSTR; _para3:HWND; _para4:DWORD):HDEVINFO;external External_library name 'SetupDiGetClassDevsA';

(* Const before type ignored *)
  function SetupDiGetClassDevsW(_para1:PGUID; _para2:PCWSTR; _para3:HWND; _para4:DWORD):HDEVINFO;external External_library name 'SetupDiGetClassDevsW';

(* Const before type ignored *)
  function SetupDiGetClassDevsExA(_para1:PGUID; _para2:PCSTR; _para3:HWND; _para4:DWORD; _para5:HDEVINFO; 
             _para6:PCSTR; _para7:PVOID):HDEVINFO;external External_library name 'SetupDiGetClassDevsExA';

(* Const before type ignored *)
  function SetupDiGetClassDevsExW(_para1:PGUID; _para2:PCWSTR; _para3:HWND; _para4:DWORD; _para5:HDEVINFO; 
             _para6:PCWSTR; _para7:PVOID):HDEVINFO;external External_library name 'SetupDiGetClassDevsExW';

(* Const before type ignored *)
  function SetupDiGetClassImageIndex(_para1:PSP_CLASSIMAGELIST_DATA; _para2:PGUID; _para3:PINT):BOOL;external External_library name 'SetupDiGetClassImageIndex';

  function SetupDiGetClassImageList(_para1:PSP_CLASSIMAGELIST_DATA):BOOL;external External_library name 'SetupDiGetClassImageList';

  function SetupDiGetClassImageListExA(_para1:PSP_CLASSIMAGELIST_DATA; _para2:PCSTR; _para3:PVOID):BOOL;external External_library name 'SetupDiGetClassImageListExA';

  function SetupDiGetClassImageListExW(_para1:PSP_CLASSIMAGELIST_DATA; _para2:PCWSTR; _para3:PVOID):BOOL;external External_library name 'SetupDiGetClassImageListExW';

  function SetupDiGetClassInstallParamsA(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:PSP_CLASSINSTALL_HEADER; _para4:DWORD; _para5:PDWORD):BOOL;external External_library name 'SetupDiGetClassInstallParamsA';

  function SetupDiGetClassInstallParamsW(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:PSP_CLASSINSTALL_HEADER; _para4:DWORD; _para5:PDWORD):BOOL;external External_library name 'SetupDiGetClassInstallParamsW';

  function SetupDiGetClassRegistryPropertyA(_para1:LPGUID; _para2:DWORD; _para3:PDWORD; _para4:PBYTE; _para5:DWORD; 
             _para6:PDWORD; _para7:PCSTR; _para8:PVOID):BOOL;external External_library name 'SetupDiGetClassRegistryPropertyA';

  function SetupDiGetClassRegistryPropertyW(_para1:LPGUID; _para2:DWORD; _para3:PDWORD; _para4:PBYTE; _para5:DWORD; 
             _para6:PDWORD; _para7:PCWSTR; _para8:PVOID):BOOL;external External_library name 'SetupDiGetClassRegistryPropertyW';

  function SetupDiGetDeviceInfoListClass(_para1:HDEVINFO; _para2:LPGUID):BOOL;external External_library name 'SetupDiGetDeviceInfoListClass';

  function SetupDiGetDeviceInfoListDetailA(_para1:HDEVINFO; _para2:PSP_DEVINFO_LIST_DETAIL_DATA_A):BOOL;external External_library name 'SetupDiGetDeviceInfoListDetailA';

  function SetupDiGetDeviceInfoListDetailW(_para1:HDEVINFO; _para2:PSP_DEVINFO_LIST_DETAIL_DATA_W):BOOL;external External_library name 'SetupDiGetDeviceInfoListDetailW';

  function SetupDiGetDeviceInstallParamsA(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:PSP_DEVINSTALL_PARAMS_A):BOOL;external External_library name 'SetupDiGetDeviceInstallParamsA';

  function SetupDiGetDeviceInstallParamsW(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:PSP_DEVINSTALL_PARAMS_W):BOOL;external External_library name 'SetupDiGetDeviceInstallParamsW';

  function SetupDiGetDeviceInstanceIdA(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:PSTR; _para4:DWORD; _para5:PDWORD):BOOL;external External_library name 'SetupDiGetDeviceInstanceIdA';

  function SetupDiGetDeviceInstanceIdW(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:PWSTR; _para4:DWORD; _para5:PDWORD):BOOL;external External_library name 'SetupDiGetDeviceInstanceIdW';

(* Const before type ignored *)
  function SetupDiGetDeviceInterfaceAlias(_para1:HDEVINFO; _para2:PSP_DEVICE_INTERFACE_DATA; _para3:PGUID; _para4:PSP_DEVICE_INTERFACE_DATA):BOOL;external External_library name 'SetupDiGetDeviceInterfaceAlias';

  function SetupDiGetDeviceInterfaceDetailA(_para1:HDEVINFO; _para2:PSP_DEVICE_INTERFACE_DATA; _para3:PSP_DEVICE_INTERFACE_DETAIL_DATA_A; _para4:DWORD; _para5:PDWORD; 
             _para6:PSP_DEVINFO_DATA):BOOL;external External_library name 'SetupDiGetDeviceInterfaceDetailA';

  function SetupDiGetDeviceInterfaceDetailW(_para1:HDEVINFO; _para2:PSP_DEVICE_INTERFACE_DATA; _para3:PSP_DEVICE_INTERFACE_DETAIL_DATA_W; _para4:DWORD; _para5:PDWORD; 
             _para6:PSP_DEVINFO_DATA):BOOL;external External_library name 'SetupDiGetDeviceInterfaceDetailW';

  function SetupDiGetDeviceRegistryPropertyA(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:DWORD; _para4:PDWORD; _para5:PBYTE; 
             _para6:DWORD; _para7:PDWORD):BOOL;external External_library name 'SetupDiGetDeviceRegistryPropertyA';

  function SetupDiGetDeviceRegistryPropertyW(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:DWORD; _para4:PDWORD; _para5:PBYTE; 
             _para6:DWORD; _para7:PDWORD):BOOL;external External_library name 'SetupDiGetDeviceRegistryPropertyW';

  function SetupDiGetDriverInfoDetailA(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:PSP_DRVINFO_DATA_A; _para4:PSP_DRVINFO_DETAIL_DATA_A; _para5:DWORD; 
             _para6:PDWORD):BOOL;external External_library name 'SetupDiGetDriverInfoDetailA';

  function SetupDiGetDriverInfoDetailW(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:PSP_DRVINFO_DATA_W; _para4:PSP_DRVINFO_DETAIL_DATA_W; _para5:DWORD; 
             _para6:PDWORD):BOOL;external External_library name 'SetupDiGetDriverInfoDetailW';

  function SetupDiGetDriverInstallParamsA(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:PSP_DRVINFO_DATA_A; _para4:PSP_DRVINSTALL_PARAMS):BOOL;external External_library name 'SetupDiGetDriverInstallParamsA';

  function SetupDiGetDriverInstallParamsW(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:PSP_DRVINFO_DATA_W; _para4:PSP_DRVINSTALL_PARAMS):BOOL;external External_library name 'SetupDiGetDriverInstallParamsW';

  function SetupDiGetHwProfileFriendlyNameA(_para1:DWORD; _para2:PSTR; _para3:DWORD; _para4:PDWORD):BOOL;external External_library name 'SetupDiGetHwProfileFriendlyNameA';

  function SetupDiGetHwProfileFriendlyNameExA(_para1:DWORD; _para2:PSTR; _para3:DWORD; _para4:PDWORD; _para5:PCSTR; 
             _para6:PVOID):BOOL;external External_library name 'SetupDiGetHwProfileFriendlyNameExA';

  function SetupDiGetHwProfileFriendlyNameExW(_para1:DWORD; _para2:PWSTR; _para3:DWORD; _para4:PDWORD; _para5:PCWSTR; 
             _para6:PVOID):BOOL;external External_library name 'SetupDiGetHwProfileFriendlyNameExW';

  function SetupDiGetHwProfileFriendlyNameW(_para1:DWORD; _para2:PWSTR; _para3:DWORD; _para4:PDWORD):BOOL;external External_library name 'SetupDiGetHwProfileFriendlyNameW';

  function SetupDiGetHwProfileList(_para1:PDWORD; _para2:DWORD; _para3:PDWORD; _para4:PDWORD):BOOL;external External_library name 'SetupDiGetHwProfileList';

  function SetupDiGetHwProfileListExA(_para1:PDWORD; _para2:DWORD; _para3:PDWORD; _para4:PDWORD; _para5:PCSTR; 
             _para6:PVOID):BOOL;external External_library name 'SetupDiGetHwProfileListExA';

  function SetupDiGetHwProfileListExW(_para1:PDWORD; _para2:DWORD; _para3:PDWORD; _para4:PDWORD; _para5:PCWSTR; 
             _para6:PVOID):BOOL;external External_library name 'SetupDiGetHwProfileListExW';

  function SetupDiGetINFClassA(_para1:PCSTR; _para2:LPGUID; _para3:PSTR; _para4:DWORD; _para5:PDWORD):BOOL;external External_library name 'SetupDiGetINFClassA';

  function SetupDiGetINFClassW(_para1:PCWSTR; _para2:LPGUID; _para3:PWSTR; _para4:DWORD; _para5:PDWORD):BOOL;external External_library name 'SetupDiGetINFClassW';

  function SetupDiGetSelectedDevice(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA):BOOL;external External_library name 'SetupDiGetSelectedDevice';

  function SetupDiGetSelectedDriverA(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:PSP_DRVINFO_DATA_A):BOOL;external External_library name 'SetupDiGetSelectedDriverA';

  function SetupDiGetSelectedDriverW(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:PSP_DRVINFO_DATA_W):BOOL;external External_library name 'SetupDiGetSelectedDriverW';

  function SetupDiGetWizardage(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:PSP_INSTALLWIZARD_DATA; _para4:DWORD; _para5:DWORD):HPROPSHEETPAGE;external External_library name 'SetupDiGetWizardage';

  function SetupDiInstallClassA(_para1:HWND; _para2:PCSTR; _para3:DWORD; _para4:HSPFILEQ):BOOL;external External_library name 'SetupDiInstallClassA';

  function SetupDiInstallClassW(_para1:HWND; _para2:PCWSTR; _para3:DWORD; _para4:HSPFILEQ):BOOL;external External_library name 'SetupDiInstallClassW';

(* Const before type ignored *)
  function SetupDiInstallClassExA(_para1:HWND; _para2:PCSTR; _para3:DWORD; _para4:HSPFILEQ; _para5:PGUID; 
             _para6:PVOID; _para7:PVOID):BOOL;external External_library name 'SetupDiInstallClassExA';

(* Const before type ignored *)
  function SetupDiInstallClassExW(_para1:HWND; _para2:PCWSTR; _para3:DWORD; _para4:HSPFILEQ; _para5:PGUID; 
             _para6:PVOID; _para7:PVOID):BOOL;external External_library name 'SetupDiInstallClassExW';

  function SetupDiInstallDevice(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA):BOOL;external External_library name 'SetupDiInstallDevice';

  function SetupDiInstallDeviceInterfaces(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA):BOOL;external External_library name 'SetupDiInstallDeviceInterfaces';

  function SetupDiInstallDriverFiles(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA):BOOL;external External_library name 'SetupDiInstallDriverFiles';

(* Const before type ignored *)
  function SetupDiLoadClassIcon(_para1:PGUID; _para2:PHICON; _para3:PINT):BOOL;external External_library name 'SetupDiLoadClassIcon';

  function SetupDiMoveDuplicateDevice(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA):BOOL;external External_library name 'SetupDiMoveDuplicateDevice';

(* Const before type ignored *)
  function SetupDiOpenClassRegKey(_para1:PGUID; _para2:REGSAM):HKEY;external External_library name 'SetupDiOpenClassRegKey';

(* Const before type ignored *)
  function SetupDiOpenClassRegKeyExA(_para1:PGUID; _para2:REGSAM; _para3:DWORD; _para4:PCSTR; _para5:PVOID):HKEY;external External_library name 'SetupDiOpenClassRegKeyExA';

(* Const before type ignored *)
  function SetupDiOpenClassRegKeyExW(_para1:PGUID; _para2:REGSAM; _para3:DWORD; _para4:PCWSTR; _para5:PVOID):HKEY;external External_library name 'SetupDiOpenClassRegKeyExW';

  function SetupDiOpenDeviceInfoA(_para1:HDEVINFO; _para2:PCSTR; _para3:HWND; _para4:DWORD; _para5:PSP_DEVINFO_DATA):BOOL;external External_library name 'SetupDiOpenDeviceInfoA';

  function SetupDiOpenDeviceInfoW(_para1:HDEVINFO; _para2:PCWSTR; _para3:HWND; _para4:DWORD; _para5:PSP_DEVINFO_DATA):BOOL;external External_library name 'SetupDiOpenDeviceInfoW';

  function SetupDiOpenDeviceInterfaceA(_para1:HDEVINFO; _para2:PCSTR; _para3:DWORD; _para4:PSP_DEVICE_INTERFACE_DATA):BOOL;external External_library name 'SetupDiOpenDeviceInterfaceA';

  function SetupDiOpenDeviceInterfaceW(_para1:HDEVINFO; _para2:PCWSTR; _para3:DWORD; _para4:PSP_DEVICE_INTERFACE_DATA):BOOL;external External_library name 'SetupDiOpenDeviceInterfaceW';

  function SetupDiOpenDeviceInterfaceRegKey(_para1:HDEVINFO; _para2:PSP_DEVICE_INTERFACE_DATA; _para3:DWORD; _para4:REGSAM):HKEY;external External_library name 'SetupDiOpenDeviceInterfaceRegKey';

  function SetupDiOpenDevRegKey(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:DWORD; _para4:DWORD; _para5:DWORD; 
             _para6:REGSAM):HKEY;external External_library name 'SetupDiOpenDevRegKey';

  function SetupDiRegisterCoDeviceInstallers(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA):BOOL;external External_library name 'SetupDiRegisterCoDeviceInstallers';

  function SetupDiRegisterDeviceInfo(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:DWORD; _para4:PSP_DETSIG_CMPPROC; _para5:PVOID; 
             _para6:PSP_DEVINFO_DATA):BOOL;external External_library name 'SetupDiRegisterDeviceInfo';

  function SetupDiRemoveDevice(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA):BOOL;external External_library name 'SetupDiRemoveDevice';

  function SetupDiRemoveDeviceInterface(_para1:HDEVINFO; _para2:PSP_DEVICE_INTERFACE_DATA):BOOL;external External_library name 'SetupDiRemoveDeviceInterface';

  function SetupDiSelectBestCompatDrv(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA):BOOL;external External_library name 'SetupDiSelectBestCompatDrv';

  function SetupDiSelectDevice(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA):BOOL;external External_library name 'SetupDiSelectDevice';

  function SetupDiSelectOEMDrv(_para1:HWND; _para2:HDEVINFO; _para3:PSP_DEVINFO_DATA):BOOL;external External_library name 'SetupDiSelectOEMDrv';

  function SetupDiSetClassInstallParamsA(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:PSP_CLASSINSTALL_HEADER; _para4:DWORD):BOOL;external External_library name 'SetupDiSetClassInstallParamsA';

  function SetupDiSetClassInstallParamsW(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:PSP_CLASSINSTALL_HEADER; _para4:DWORD):BOOL;external External_library name 'SetupDiSetClassInstallParamsW';

(* Const before type ignored *)
  function SetupDiSetClassRegistryPropertyA(_para1:LPGUID; _para2:DWORD; _para3:PBYTE; _para4:DWORD; _para5:PCSTR; 
             _para6:PVOID):BOOL;external External_library name 'SetupDiSetClassRegistryPropertyA';

(* Const before type ignored *)
  function SetupDiSetClassRegistryPropertyW(_para1:LPGUID; _para2:DWORD; _para3:PBYTE; _para4:DWORD; _para5:PCWSTR; 
             _para6:PVOID):BOOL;external External_library name 'SetupDiSetClassRegistryPropertyW';

  function SetupDiSetDeviceInstallParamsA(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:PSP_DEVINSTALL_PARAMS_A):BOOL;external External_library name 'SetupDiSetDeviceInstallParamsA';

  function SetupDiSetDeviceInstallParamsW(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:PSP_DEVINSTALL_PARAMS_W):BOOL;external External_library name 'SetupDiSetDeviceInstallParamsW';

(* Const before type ignored *)
  function SetupDiSetDeviceRegistryPropertyA(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:DWORD; _para4:PBYTE; _para5:DWORD):BOOL;external External_library name 'SetupDiSetDeviceRegistryPropertyA';

(* Const before type ignored *)
  function SetupDiSetDeviceRegistryPropertyW(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:DWORD; _para4:PBYTE; _para5:DWORD):BOOL;external External_library name 'SetupDiSetDeviceRegistryPropertyW';

  function SetupDiSetDriverInstallParamsA(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:PSP_DRVINFO_DATA_A; _para4:PSP_DRVINSTALL_PARAMS):BOOL;external External_library name 'SetupDiSetDriverInstallParamsA';

  function SetupDiSetDriverInstallParamsW(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:PSP_DRVINFO_DATA_W; _para4:PSP_DRVINSTALL_PARAMS):BOOL;external External_library name 'SetupDiSetDriverInstallParamsW';

  function SetupDiSetSelectedDevice(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA):BOOL;external External_library name 'SetupDiSetSelectedDevice';

  function SetupDiSetSelectedDriverA(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:PSP_DRVINFO_DATA_A):BOOL;external External_library name 'SetupDiSetSelectedDriverA';

  function SetupDiSetSelectedDriverW(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA; _para3:PSP_DRVINFO_DATA_W):BOOL;external External_library name 'SetupDiSetSelectedDriverW';

  function SetupDiUnremoveDevice(_para1:HDEVINFO; _para2:PSP_DEVINFO_DATA):BOOL;external External_library name 'SetupDiUnremoveDevice';

  function SetupDuplicateDiskSpaceListA(_para1:HDSKSPC; _para2:PVOID; _para3:DWORD; _para4:UINT):HDSKSPC;external External_library name 'SetupDuplicateDiskSpaceListA';

  function SetupDuplicateDiskSpaceListW(_para1:HDSKSPC; _para2:PVOID; _para3:DWORD; _para4:UINT):HDSKSPC;external External_library name 'SetupDuplicateDiskSpaceListW';

  function SetupFindFirstLineA(_para1:HINF; _para2:PCSTR; _para3:PCSTR; _para4:PINFCONTEXT):BOOL;external External_library name 'SetupFindFirstLineA';

  function SetupFindFirstLineW(_para1:HINF; _para2:PCWSTR; _para3:PCWSTR; _para4:PINFCONTEXT):BOOL;external External_library name 'SetupFindFirstLineW';

  function SetupFindNextLine(_para1:PINFCONTEXT; _para2:PINFCONTEXT):BOOL;external External_library name 'SetupFindNextLine';

  function SetupFindNextMatchLineA(_para1:PINFCONTEXT; _para2:PCSTR; _para3:PINFCONTEXT):BOOL;external External_library name 'SetupFindNextMatchLineA';

  function SetupFindNextMatchLineW(_para1:PINFCONTEXT; _para2:PCWSTR; _para3:PINFCONTEXT):BOOL;external External_library name 'SetupFindNextMatchLineW';

//  function SetupFreeA(_para1:PPPCSTR; _para2:UINT):BOOL;external External_library name 'SetupFreeA';

//  function SetupFreeW(_para1:PPPCWSTR; _para2:UINT):BOOL;external External_library name 'SetupFreeW';

  function SetupGetBackupInformationA(_para1:HSPFILEQ; _para2:PSP_BACKUP_QUEUE_PARAMS_A):BOOL;external External_library name 'SetupGetBackupInformationA';

  function SetupGetBackupInformationW(_para1:HSPFILEQ; _para2:PSP_BACKUP_QUEUE_PARAMS_W):BOOL;external External_library name 'SetupGetBackupInformationW';

  function SetupGetBinaryField(_para1:PINFCONTEXT; _para2:DWORD; _para3:PBYTE; _para4:DWORD; _para5:LPDWORD):BOOL;external External_library name 'SetupGetBinaryField';

  function SetupGetFieldCount(_para1:PINFCONTEXT):DWORD;external External_library name 'SetupGetFieldCount';

  function SetupGetFileCompressionInfoA(_para1:PCSTR; _para2:PPSTR; _para3:PDWORD; _para4:PDWORD; _para5:PUINT):DWORD;external External_library name 'SetupGetFileCompressionInfoA';

  function SetupGetFileCompressionInfoW(_para1:PCWSTR; _para2:PPWSTR; _para3:PDWORD; _para4:PDWORD; _para5:PUINT):DWORD;external External_library name 'SetupGetFileCompressionInfoW';

  function SetupGetFileCompressionInfoExA(_para1:PCSTR; _para2:PSTR; _para3:DWORD; _para4:PDWORD; _para5:PDWORD; 
             _para6:PDWORD; _para7:PUINT):BOOL;external External_library name 'SetupGetFileCompressionInfoExA';

  function SetupGetFileCompressionInfoExW(_para1:PCWSTR; _para2:PWSTR; _para3:DWORD; _para4:PDWORD; _para5:PDWORD; 
             _para6:PDWORD; _para7:PUINT):BOOL;external External_library name 'SetupGetFileCompressionInfoExW';

  function SetupGetInfFileListA(_para1:PCSTR; _para2:DWORD; _para3:PSTR; _para4:DWORD; _para5:PDWORD):BOOL;external External_library name 'SetupGetInfFileListA';

  function SetupGetInfFileListW(_para1:PCWSTR; _para2:DWORD; _para3:PWSTR; _para4:DWORD; _para5:PDWORD):BOOL;external External_library name 'SetupGetInfFileListW';

  function SetupGetInfInformationA(_para1:LPCVOID; _para2:DWORD; _para3:PSP_INF_INFORMATION; _para4:DWORD; _para5:PDWORD):BOOL;external External_library name 'SetupGetInfInformationA';

  function SetupGetInfInformationW(_para1:LPCVOID; _para2:DWORD; _para3:PSP_INF_INFORMATION; _para4:DWORD; _para5:PDWORD):BOOL;external External_library name 'SetupGetInfInformationW';

  function SetupGetIntField(_para1:PINFCONTEXT; _para2:DWORD; _para3:PINT):BOOL;external External_library name 'SetupGetIntField';

  function SetupGetLineByIndexA(_para1:HINF; _para2:PCSTR; _para3:DWORD; _para4:PINFCONTEXT):BOOL;external External_library name 'SetupGetLineByIndexA';

  function SetupGetLineByIndexW(_para1:HINF; _para2:PCWSTR; _para3:DWORD; _para4:PINFCONTEXT):BOOL;external External_library name 'SetupGetLineByIndexW';

  function SetupGetLineCountA(_para1:HINF; _para2:PCSTR):LONG;external External_library name 'SetupGetLineCountA';

  function SetupGetLineCountW(_para1:HINF; _para2:PCWSTR):LONG;external External_library name 'SetupGetLineCountW';

  function SetupGetLineTextA(_para1:PINFCONTEXT; _para2:HINF; _para3:PCSTR; _para4:PCSTR; _para5:PSTR; 
             _para6:DWORD; _para7:PDWORD):BOOL;external External_library name 'SetupGetLineTextA';

  function SetupGetLineTextW(_para1:PINFCONTEXT; _para2:HINF; _para3:PCWSTR; _para4:PCWSTR; _para5:PWSTR; 
             _para6:DWORD; _para7:PDWORD):BOOL;external External_library name 'SetupGetLineTextW';

  function SetupGetMultiSzFieldA(_para1:PINFCONTEXT; _para2:DWORD; _para3:PSTR; _para4:DWORD; _para5:LPDWORD):BOOL;external External_library name 'SetupGetMultiSzFieldA';

  function SetupGetMultiSzFieldW(_para1:PINFCONTEXT; _para2:DWORD; _para3:PWSTR; _para4:DWORD; _para5:LPDWORD):BOOL;external External_library name 'SetupGetMultiSzFieldW';

  function SetupGetSourceFileLocationA(_para1:HINF; _para2:PINFCONTEXT; _para3:PCSTR; _para4:PUINT; _para5:PSTR; 
             _para6:DWORD; _para7:PDWORD):BOOL;external External_library name 'SetupGetSourceFileLocationA';

  function SetupGetSourceFileLocationW(_para1:HINF; _para2:PINFCONTEXT; _para3:PCWSTR; _para4:PUINT; _para5:PWSTR; 
             _para6:DWORD; _para7:PDWORD):BOOL;external External_library name 'SetupGetSourceFileLocationW';

  function SetupGetSourceFileSizeA(_para1:HINF; _para2:PINFCONTEXT; _para3:PCSTR; _para4:PCSTR; _para5:PDWORD; 
             _para6:UINT):BOOL;external External_library name 'SetupGetSourceFileSizeA';

  function SetupGetSourceFileSizeW(_para1:HINF; _para2:PINFCONTEXT; _para3:PCWSTR; _para4:PCWSTR; _para5:PDWORD; 
             _para6:UINT):BOOL;external External_library name 'SetupGetSourceFileSizeW';

  function SetupGetSourceInfoA(_para1:HINF; _para2:UINT; _para3:UINT; _para4:PSTR; _para5:DWORD; 
             _para6:PDWORD):BOOL;external External_library name 'SetupGetSourceInfoA';

  function SetupGetSourceInfoW(_para1:HINF; _para2:UINT; _para3:UINT; _para4:PWSTR; _para5:DWORD; 
             _para6:PDWORD):BOOL;external External_library name 'SetupGetSourceInfoW';

  function SetupGetStringFieldA(_para1:PINFCONTEXT; _para2:DWORD; _para3:PSTR; _para4:DWORD; _para5:PDWORD):BOOL;external External_library name 'SetupGetStringFieldA';

  function SetupGetStringFieldW(_para1:PINFCONTEXT; _para2:DWORD; _para3:PWSTR; _para4:DWORD; _para5:PDWORD):BOOL;external External_library name 'SetupGetStringFieldW';

  function SetupGetTargetPathA(_para1:HINF; _para2:PINFCONTEXT; _para3:PCSTR; _para4:PSTR; _para5:DWORD; 
             _para6:PDWORD):BOOL;external External_library name 'SetupGetTargetPathA';

  function SetupGetTargetPathW(_para1:HINF; _para2:PINFCONTEXT; _para3:PCWSTR; _para4:PWSTR; _para5:DWORD; 
             _para6:PDWORD):BOOL;external External_library name 'SetupGetTargetPathW';

  function SetupInitDefaultQueueCallback(_para1:HWND):PVOID;external External_library name 'SetupInitDefaultQueueCallback';

  function SetupInitDefaultQueueCallbackEx(_para1:HWND; _para2:HWND; _para3:UINT; _para4:DWORD; _para5:PVOID):PVOID;external External_library name 'SetupInitDefaultQueueCallbackEx';

  function SetupInitializeFileLogA(_para1:PCSTR; _para2:DWORD):HSPFILELOG;external External_library name 'SetupInitializeFileLogA';

  function SetupInitializeFileLogW(_para1:PCWSTR; _para2:DWORD):HSPFILELOG;external External_library name 'SetupInitializeFileLogW';

  function SetupInstallFileA(_para1:HINF; _para2:PINFCONTEXT; _para3:PCSTR; _para4:PCSTR; _para5:PCSTR; 
             _para6:DWORD; _para7:PSP_FILE_CALLBACK_A; _para8:PVOID):BOOL;external External_library name 'SetupInstallFileA';

  function SetupInstallFileW(_para1:HINF; _para2:PINFCONTEXT; _para3:PCWSTR; _para4:PCWSTR; _para5:PCWSTR; 
             _para6:DWORD; _para7:PSP_FILE_CALLBACK_W; _para8:PVOID):BOOL;external External_library name 'SetupInstallFileW';

  function SetupInstallFileExA(_para1:HINF; _para2:PINFCONTEXT; _para3:PCSTR; _para4:PCSTR; _para5:PCSTR; 
             _para6:DWORD; _para7:PSP_FILE_CALLBACK_A; _para8:PVOID; _para9:PBOOL):BOOL;external External_library name 'SetupInstallFileExA';

  function SetupInstallFileExW(_para1:HINF; _para2:PINFCONTEXT; _para3:PCWSTR; _para4:PCWSTR; _para5:PCWSTR; 
             _para6:DWORD; _para7:PSP_FILE_CALLBACK_W; _para8:PVOID; _para9:PBOOL):BOOL;external External_library name 'SetupInstallFileExW';

  function SetupInstallFilesFromInfSectionA(_para1:HINF; _para2:HINF; _para3:HSPFILEQ; _para4:PCSTR; _para5:PCSTR; 
             _para6:UINT):BOOL;external External_library name 'SetupInstallFilesFromInfSectionA';

  function SetupInstallFilesFromInfSectionW(_para1:HINF; _para2:HINF; _para3:HSPFILEQ; _para4:PCWSTR; _para5:PCWSTR; 
             _para6:UINT):BOOL;external External_library name 'SetupInstallFilesFromInfSectionW';

  function SetupInstallFromInfSectionA(_para1:HWND; _para2:HINF; _para3:PCSTR; _para4:UINT; _para5:HKEY; 
             _para6:PCSTR; _para7:UINT; _para8:PSP_FILE_CALLBACK_A; _para9:PVOID; _para10:HDEVINFO; 
             _para11:PSP_DEVINFO_DATA):BOOL;external External_library name 'SetupInstallFromInfSectionA';

  function SetupInstallFromInfSectionW(_para1:HWND; _para2:HINF; _para3:PCWSTR; _para4:UINT; _para5:HKEY; 
             _para6:PCWSTR; _para7:UINT; _para8:PSP_FILE_CALLBACK_W; _para9:PVOID; _para10:HDEVINFO; 
             _para11:PSP_DEVINFO_DATA):BOOL;external External_library name 'SetupInstallFromInfSectionW';

  function SetupInstallServicesFromInfSectionA(_para1:HINF; _para2:PCSTR; _para3:DWORD):BOOL;external External_library name 'SetupInstallServicesFromInfSectionA';

  function SetupInstallServicesFromInfSectionW(_para1:HINF; _para2:PCWSTR; _para3:DWORD):BOOL;external External_library name 'SetupInstallServicesFromInfSectionW';

  function SetupInstallServicesFromInfSectionExA(_para1:HINF; _para2:PCSTR; _para3:DWORD; _para4:HDEVINFO; _para5:PSP_DEVINFO_DATA; 
             _para6:PVOID; _para7:PVOID):BOOL;external External_library name 'SetupInstallServicesFromInfSectionExA';

  function SetupInstallServicesFromInfSectionExW(_para1:HINF; _para2:PCWSTR; _para3:DWORD; _para4:HDEVINFO; _para5:PSP_DEVINFO_DATA; 
             _para6:PVOID; _para7:PVOID):BOOL;external External_library name 'SetupInstallServicesFromInfSectionExW';

  function SetupIterateCabinetA(_para1:PCSTR; _para2:DWORD; _para3:PSP_FILE_CALLBACK_A; _para4:PVOID):BOOL;external External_library name 'SetupIterateCabinetA';

  function SetupIterateCabinetW(_para1:PCWSTR; _para2:DWORD; _para3:PSP_FILE_CALLBACK_W; _para4:PVOID):BOOL;external External_library name 'SetupIterateCabinetW';

//  function SetupLogErrorA(_para1:LPCSTR; _para2:LogSeverity):BOOL;external External_library name 'SetupLogErrorA';

//  function SetupLogErrorW(_para1:LPCWSTR; _para2:LogSeverity):BOOL;external External_library name 'SetupLogErrorW';

  function SetupLogFileA(_para1:HSPFILELOG; _para2:PCSTR; _para3:PCSTR; _para4:PCSTR; _para5:DWORD; 
             _para6:PCSTR; _para7:PCSTR; _para8:PCSTR; _para9:DWORD):BOOL;external External_library name 'SetupLogFileA';

  function SetupLogFileW(_para1:HSPFILELOG; _para2:PCWSTR; _para3:PCWSTR; _para4:PCWSTR; _para5:DWORD; 
             _para6:PCWSTR; _para7:PCWSTR; _para8:PCWSTR; _para9:DWORD):BOOL;external External_library name 'SetupLogFileW';

  function SetupOpenAppendInfFileA(_para1:PCSTR; _para2:HINF; _para3:PUINT):BOOL;external External_library name 'SetupOpenAppendInfFileA';

  function SetupOpenAppendInfFileW(_para1:PCWSTR; _para2:HINF; _para3:PUINT):BOOL;external External_library name 'SetupOpenAppendInfFileW';

  function SetupOpenFileQueue:HSPFILEQ;external External_library name 'SetupOpenFileQueue';

  function SetupOpenInfFileA(_para1:PCSTR; _para2:PCSTR; _para3:DWORD; _para4:PUINT):HINF;external External_library name 'SetupOpenInfFileA';

  function SetupOpenInfFileW(_para1:PCWSTR; _para2:PCWSTR; _para3:DWORD; _para4:PUINT):HINF;external External_library name 'SetupOpenInfFileW';

  function SetupOpenLog(_para1:BOOL):BOOL;external External_library name 'SetupOpenLog';

  function SetupOpenMasterInf:HINF;external External_library name 'SetupOpenMasterInf';

  function SetupPromptForDiskA(_para1:HWND; _para2:PCSTR; _para3:PCSTR; _para4:PCSTR; _para5:PCSTR; 
             _para6:PCSTR; _para7:DWORD; _para8:PSTR; _para9:DWORD; _para10:PDWORD):UINT;external External_library name 'SetupPromptForDiskA';

  function SetupPromptForDiskW(_para1:HWND; _para2:PCWSTR; _para3:PCWSTR; _para4:PCWSTR; _para5:PCWSTR; 
             _para6:PCWSTR; _para7:DWORD; _para8:PWSTR; _para9:DWORD; _para10:PDWORD):UINT;external External_library name 'SetupPromptForDiskW';

//  function SetupPromptReboot(_para1:HSPFILEQ; _para2:HWND; _para3:BOOL):INT;external External_library name 'SetupPromptReboot';

//  function SetupQueryA(_para1:DWORD; _para2:PPPCSTR; _para3:PUINT):BOOL;external External_library name 'SetupQueryA';

//  function SetupQueryW(_para1:DWORD; _para2:PPPCWSTR; _para3:PUINT):BOOL;external External_library name 'SetupQueryW';

  function SetupQueryDrivesInDiskSpaceListA(_para1:HDSKSPC; _para2:PSTR; _para3:DWORD; _para4:PDWORD):BOOL;external External_library name 'SetupQueryDrivesInDiskSpaceListA';

  function SetupQueryDrivesInDiskSpaceListW(_para1:HDSKSPC; _para2:PWSTR; _para3:DWORD; _para4:PDWORD):BOOL;external External_library name 'SetupQueryDrivesInDiskSpaceListW';

  function SetupQueryFileLogA(_para1:HSPFILELOG; _para2:PCSTR; _para3:PCSTR; _para4:SetupFileLogInfo; _para5:PSTR; 
             _para6:DWORD; _para7:PDWORD):BOOL;external External_library name 'SetupQueryFileLogA';

  function SetupQueryFileLogW(_para1:HSPFILELOG; _para2:PCWSTR; _para3:PCWSTR; _para4:SetupFileLogInfo; _para5:PWSTR; 
             _para6:DWORD; _para7:PDWORD):BOOL;external External_library name 'SetupQueryFileLogW';

  function SetupQueryInfFileInformationA(_para1:PSP_INF_INFORMATION; _para2:UINT; _para3:PSTR; _para4:DWORD; _para5:PDWORD):BOOL;external External_library name 'SetupQueryInfFileInformationA';

  function SetupQueryInfFileInformationW(_para1:PSP_INF_INFORMATION; _para2:UINT; _para3:PWSTR; _para4:DWORD; _para5:PDWORD):BOOL;external External_library name 'SetupQueryInfFileInformationW';

  function SetupQueryInfOriginalFileInformationA(_para1:PSP_INF_INFORMATION; _para2:UINT; _para3:PSP_ALTPLATFORM_INFO; _para4:PSP_ORIGINAL_FILE_INFO_A):BOOL;external External_library name 'SetupQueryInfOriginalFileInformationA';

  function SetupQueryInfOriginalFileInformationW(_para1:PSP_INF_INFORMATION; _para2:UINT; _para3:PSP_ALTPLATFORM_INFO; _para4:PSP_ORIGINAL_FILE_INFO_W):BOOL;external External_library name 'SetupQueryInfOriginalFileInformationW';

  function SetupQueryInfVersionInformationA(_para1:PSP_INF_INFORMATION; _para2:UINT; _para3:PSTR; _para4:PSTR; _para5:DWORD; 
             _para6:PDWORD):BOOL;external External_library name 'SetupQueryInfVersionInformationA';

  function SetupQueryInfVersionInformationW(_para1:PSP_INF_INFORMATION; _para2:UINT; _para3:PCWSTR; _para4:PWSTR; _para5:DWORD; 
             _para6:PDWORD):BOOL;external External_library name 'SetupQueryInfVersionInformationW';

  function SetupQuerySpaceRequiredOnDriveA(_para1:HDSKSPC; _para2:PCSTR; _para3:PLONGLONG; _para4:PVOID; _para5:UINT):BOOL;external External_library name 'SetupQuerySpaceRequiredOnDriveA';

  function SetupQuerySpaceRequiredOnDriveW(_para1:HDSKSPC; _para2:PCWSTR; _para3:PLONGLONG; _para4:PVOID; _para5:UINT):BOOL;external External_library name 'SetupQuerySpaceRequiredOnDriveW';

  function SetupQueueCopyA(_para1:HSPFILEQ; _para2:PCSTR; _para3:PCSTR; _para4:PCSTR; _para5:PCSTR; 
             _para6:PCSTR; _para7:PCSTR; _para8:PCSTR; _para9:DWORD):BOOL;external External_library name 'SetupQueueCopyA';

  function SetupQueueCopyW(_para1:HSPFILEQ; _para2:PCWSTR; _para3:PCWSTR; _para4:PCWSTR; _para5:PCWSTR; 
             _para6:PCWSTR; _para7:PCWSTR; _para8:PCWSTR; _para9:DWORD):BOOL;external External_library name 'SetupQueueCopyW';

  function SetupQueueCopyIndirectA(_para1:PSP_FILE_COPY_PARAMS_A):BOOL;external External_library name 'SetupQueueCopyIndirectA';

  function SetupQueueCopyIndirectW(_para1:PSP_FILE_COPY_PARAMS_W):BOOL;external External_library name 'SetupQueueCopyIndirectW';

  function SetupQueueCopySectionA(_para1:HSPFILEQ; _para2:PCSTR; _para3:HINF; _para4:HINF; _para5:PCSTR; 
             _para6:DWORD):BOOL;external External_library name 'SetupQueueCopySectionA';

  function SetupQueueCopySectionW(_para1:HSPFILEQ; _para2:PCWSTR; _para3:HINF; _para4:HINF; _para5:PCWSTR; 
             _para6:DWORD):BOOL;external External_library name 'SetupQueueCopySectionW';

  function SetupQueueDefaultCopyA(_para1:HSPFILEQ; _para2:HINF; _para3:PCSTR; _para4:PCSTR; _para5:PCSTR; 
             _para6:DWORD):BOOL;external External_library name 'SetupQueueDefaultCopyA';

  function SetupQueueDefaultCopyW(_para1:HSPFILEQ; _para2:HINF; _para3:PCWSTR; _para4:PCWSTR; _para5:PCWSTR; 
             _para6:DWORD):BOOL;external External_library name 'SetupQueueDefaultCopyW';

  function SetupQueueDeleteA(_para1:HSPFILEQ; _para2:PCSTR; _para3:PCSTR):BOOL;external External_library name 'SetupQueueDeleteA';

  function SetupQueueDeleteW(_para1:HSPFILEQ; _para2:PCWSTR; _para3:PCWSTR):BOOL;external External_library name 'SetupQueueDeleteW';

  function SetupQueueDeleteSectionA(_para1:HSPFILEQ; _para2:HINF; _para3:HINF; _para4:PCSTR):BOOL;external External_library name 'SetupQueueDeleteSectionA';

  function SetupQueueDeleteSectionW(_para1:HSPFILEQ; _para2:HINF; _para3:HINF; _para4:PCWSTR):BOOL;external External_library name 'SetupQueueDeleteSectionW';

  function SetupQueueRenameA(_para1:HSPFILEQ; _para2:PCSTR; _para3:PCSTR; _para4:PCSTR; _para5:PCSTR):BOOL;external External_library name 'SetupQueueRenameA';

  function SetupQueueRenameW(_para1:HSPFILEQ; _para2:PCWSTR; _para3:PCWSTR; _para4:PCWSTR; _para5:PCWSTR):BOOL;external External_library name 'SetupQueueRenameW';

  function SetupQueueRenameSectionA(_para1:HSPFILEQ; _para2:HINF; _para3:HINF; _para4:PCSTR):BOOL;external External_library name 'SetupQueueRenameSectionA';

  function SetupQueueRenameSectionW(_para1:HSPFILEQ; _para2:HINF; _para3:HINF; _para4:PCWSTR):BOOL;external External_library name 'SetupQueueRenameSectionW';

  function SetupRemoveFileLogEntryA(_para1:HSPFILELOG; _para2:PCSTR; _para3:PCSTR):BOOL;external External_library name 'SetupRemoveFileLogEntryA';

  function SetupRemoveFileLogEntryW(_para1:HSPFILELOG; _para2:PCWSTR; _para3:PCWSTR):BOOL;external External_library name 'SetupRemoveFileLogEntryW';

  function SetupRemoveFromDiskSpaceListA(_para1:HDSKSPC; _para2:PCSTR; _para3:UINT; _para4:PVOID; _para5:UINT):BOOL;external External_library name 'SetupRemoveFromDiskSpaceListA';

  function SetupRemoveFromDiskSpaceListW(_para1:HDSKSPC; _para2:PCWSTR; _para3:UINT; _para4:PVOID; _para5:UINT):BOOL;external External_library name 'SetupRemoveFromDiskSpaceListW';

  function SetupRemoveFromSourceListA(_para1:DWORD; _para2:PCSTR):BOOL;external External_library name 'SetupRemoveFromSourceListA';

  function SetupRemoveFromSourceListW(_para1:DWORD; _para2:PCWSTR):BOOL;external External_library name 'SetupRemoveFromSourceListW';

  function SetupRemoveInstallSectionFromDiskSpaceListA(_para1:HDSKSPC; _para2:HINF; _para3:HINF; _para4:PCSTR; _para5:PVOID; 
             _para6:UINT):BOOL;external External_library name 'SetupRemoveInstallSectionFromDiskSpaceListA';

  function SetupRemoveInstallSectionFromDiskSpaceListW(_para1:HDSKSPC; _para2:HINF; _para3:HINF; _para4:PCWSTR; _para5:PVOID; 
             _para6:UINT):BOOL;external External_library name 'SetupRemoveInstallSectionFromDiskSpaceListW';

  function SetupRemoveSectionFromDiskSpaceListA(_para1:HDSKSPC; _para2:HINF; _para3:HINF; _para4:PCSTR; _para5:UINT; 
             _para6:PVOID; _para7:UINT):BOOL;external External_library name 'SetupRemoveSectionFromDiskSpaceListA';

  function SetupRemoveSectionFromDiskSpaceListW(_para1:HDSKSPC; _para2:HINF; _para3:HINF; _para4:PCWSTR; _para5:UINT; 
             _para6:PVOID; _para7:UINT):BOOL;external External_library name 'SetupRemoveSectionFromDiskSpaceListW';

  function SetupRenameErrorA(_para1:HWND; _para2:PCSTR; _para3:PCSTR; _para4:PCSTR; _para5:UINT; 
             _para6:DWORD):UINT;external External_library name 'SetupRenameErrorA';

  function SetupRenameErrorW(_para1:HWND; _para2:PCWSTR; _para3:PCWSTR; _para4:PCWSTR; _para5:UINT; 
             _para6:DWORD):UINT;external External_library name 'SetupRenameErrorW';

  function SetupScanFileQueueA(_para1:HSPFILEQ; _para2:DWORD; _para3:HWND; _para4:PSP_FILE_CALLBACK_A; _para5:PVOID; 
             _para6:PDWORD):BOOL;external External_library name 'SetupScanFileQueueA';

  function SetupScanFileQueueW(_para1:HSPFILEQ; _para2:DWORD; _para3:HWND; _para4:PSP_FILE_CALLBACK_W; _para5:PVOID; 
             _para6:PDWORD):BOOL;external External_library name 'SetupScanFileQueueW';

  function SetupSetDirectoryIdA(_para1:HINF; _para2:DWORD; _para3:PCSTR):BOOL;external External_library name 'SetupSetDirectoryIdA';

  function SetupSetDirectoryIdW(_para1:HINF; _para2:DWORD; _para3:PCWSTR):BOOL;external External_library name 'SetupSetDirectoryIdW';

  function SetupSetDirectoryIdExA(_para1:HINF; _para2:DWORD; _para3:PCSTR; _para4:DWORD; _para5:DWORD; 
             _para6:PVOID):BOOL;external External_library name 'SetupSetDirectoryIdExA';

  function SetupSetDirectoryIdExW(_para1:HINF; _para2:DWORD; _para3:PCWSTR; _para4:DWORD; _para5:DWORD; 
             _para6:PVOID):BOOL;external External_library name 'SetupSetDirectoryIdExW';

  function SetupSetFileQueueAlternatePlatformA(_para1:HSPFILEQ; _para2:PSP_ALTPLATFORM_INFO; _para3:PCSTR):BOOL;external External_library name 'SetupSetFileQueueAlternatePlatformA';

  function SetupSetFileQueueAlternatePlatformW(_para1:HSPFILEQ; _para2:PSP_ALTPLATFORM_INFO; _para3:PCWSTR):BOOL;external External_library name 'SetupSetFileQueueAlternatePlatformW';

  function SetupSetPlatformPathOverrideA(_para1:PCSTR):BOOL;external External_library name 'SetupSetPlatformPathOverrideA';

  function SetupSetPlatformPathOverrideW(_para1:PCWSTR):BOOL;external External_library name 'SetupSetPlatformPathOverrideW';

//  function SetupSetSourceListA(_para1:DWORD; _para2:PPCSTR; _para3:UINT):BOOL;external External_library name 'SetupSetSourceListA';

//  function SetupSetSourceListW(_para1:DWORD; _para2:PPCWSTR; _para3:UINT):BOOL;external External_library name 'SetupSetSourceListW';

  procedure SetupTermDefaultQueueCallback(_para1:PVOID);external External_library name 'SetupTermDefaultQueueCallback';

  function SetupTerminateFileLog(_para1:HSPFILELOG):BOOL;external External_library name 'SetupTerminateFileLog';

  function StampFileSecurity(_para1:PCWSTR; _para2:PSECURITY_DESCRIPTOR):DWORD;external External_library name 'StampFileSecurity';

  function StringTableAddString(_para1:HSTRING_TABLE; _para2:LPWSTR; _para3:DWORD):DWORD;external External_library name 'StringTableAddString';

  function StringTableAddStringEx(_para1:HSTRING_TABLE; _para2:LPWSTR; _para3:DWORD; _para4:LPVOID; _para5:DWORD):DWORD;external External_library name 'StringTableAddStringEx';

  procedure StringTableDestroy(_para1:HSTRING_TABLE);external External_library name 'StringTableDestroy';

  function StringTableDuplicate(_para1:HSTRING_TABLE):HSTRING_TABLE;external External_library name 'StringTableDuplicate';

  function StringTableGetExtraData(_para1:HSTRING_TABLE; _para2:DWORD; _para3:LPVOID; _para4:DWORD):BOOL;external External_library name 'StringTableGetExtraData';

  function StringTableInitialize:HSTRING_TABLE;external External_library name 'StringTableInitialize';

  function StringTableInitializeEx(_para1:DWORD; _para2:DWORD):HSTRING_TABLE;external External_library name 'StringTableInitializeEx';

  function StringTableLookUpString(_para1:HSTRING_TABLE; _para2:LPWSTR; _para3:DWORD):DWORD;external External_library name 'StringTableLookUpString';

  function StringTableLookUpStringEx(_para1:HSTRING_TABLE; _para2:LPWSTR; _para3:DWORD; _para4:LPVOID; _para5:LPDWORD):DWORD;external External_library name 'StringTableLookUpStringEx';

  function StringTableSetExtraData(_para1:HSTRING_TABLE; _para2:DWORD; _para3:LPVOID; _para4:DWORD):BOOL;external External_library name 'StringTableSetExtraData';

  function StringTableStringFromId(_para1:HSTRING_TABLE; _para2:DWORD):LPWSTR;external External_library name 'StringTableStringFromId';

  function StringTableStringFromIdEx(_para1:HSTRING_TABLE; _para2:DWORD; _para3:LPWSTR; _para4:LPDWORD):BOOL;external External_library name 'StringTableStringFromIdEx';

  procedure StringTableTrim(_para1:HSTRING_TABLE);external External_library name 'StringTableTrim';

  function TakeOwnershipOfFile(_para1:PCWSTR):DWORD;external External_library name 'TakeOwnershipOfFile';

  function UnicodeToMultiByte(lpUnicodeStr:PCWSTR; uCodePage:UINT):PSTR;external External_library name 'UnicodeToMultiByte';

  function UnmapAndCloseFile(_para1:HANDLE; _para2:HANDLE; _para3:PVOID):BOOL;external External_library name 'UnmapAndCloseFile';

  { for backward compatability  }

  {
  const
     SetupDiCreateInterfaceDeviceW = SetupDiCreateDeviceInterfaceW;     
     SetupDiCreateInterfaceDeviceRegKeyW = SetupDiCreateDeviceInterfaceRegKeyW;     
     SetupDiOpenInterfaceDeviceW = SetupDiOpenDeviceInterfaceW;     
     SetupDiGetInterfaceDeviceDetailW = SetupDiGetDeviceInterfaceDetailW;     
     SetupDiCreateInterfaceDeviceA = SetupDiCreateDeviceInterfaceA;     
     SetupDiCreateInterfaceDeviceRegKeyA = SetupDiCreateDeviceInterfaceRegKeyA;     
     SetupDiOpenInterfaceDeviceA = SetupDiOpenDeviceInterfaceA;     
     SetupDiGetInterfaceDeviceDetailA = SetupDiGetDeviceInterfaceDetailA;     
{$ifdef UNICODE}
     PSP_FILE_CALLBACK = PSP_FILE_CALLBACK_W;     
     SetupAddInstallSectionToDiskSpaceList = SetupAddInstallSectionToDiskSpaceListW;     
     SetupAddSectionToDiskSpaceList = SetupAddSectionToDiskSpaceListW;     
     SetupAddToDiskSpaceList = SetupAddToDiskSpaceListW;     
     SetupAddToSourceList = SetupAddToSourceListW;     
     SetupAdjustDiskSpaceList = SetupAdjustDiskSpaceListW;     
     SetupBackupError = SetupBackupErrorW;     
     SetupCommitFileQueue = SetupCommitFileQueueW;     
     SetupCopyError = SetupCopyErrorW;     
     SetupCopyOEMInf = SetupCopyOEMInfW;     
     SetupCreateDiskSpaceList = SetupCreateDiskSpaceListW;     
     SetupDecompressOrCopyFile = SetupDecompressOrCopyFileW;     
     SetupDefaultQueueCallback = SetupDefaultQueueCallbackW;     
     SetupDeleteError = SetupDeleteErrorW;     
     SetupDiBuildClassInfoListEx = SetupDiBuildClassInfoListExW;     
     SetupDiClassGuidsFromNameEx = SetupDiClassGuidsFromNameExW;     
     SetupDiClassGuidsFromName = SetupDiClassGuidsFromNameW;     
     SetupDiClassNameFromGuidEx = SetupDiClassNameFromGuidExW;     
     SetupDiClassNameFromGuid = SetupDiClassNameFromGuidW;     
     SetupDiCreateDeviceInfoListEx = SetupDiCreateDeviceInfoListExW;     
     SetupDiCreateDeviceInfo = SetupDiCreateDeviceInfoW;     
     SetupDiCreateDeviceInterfaceRegKey = SetupDiCreateDeviceInterfaceRegKeyW;     
     SetupDiCreateInterfaceDeviceRegKey = SetupDiCreateDeviceInterfaceRegKeyW;     
     SetupDiCreateDeviceInterface = SetupDiCreateDeviceInterfaceW;     
     SetupDiCreateInterfaceDevice = SetupDiCreateDeviceInterfaceW;     
     SetupDiCreateDevRegKey = SetupDiCreateDevRegKeyW;     
     SetupDiEnumDriverInfo = SetupDiEnumDriverInfoW;     
     SetupDiGetActualSectionToInstall = SetupDiGetActualSectionToInstallW;     
     SetupDiGetActualSectionToInstallEx = SetupDiGetActualSectionToInstallExW;     
     SetupDiGetClassDescriptionEx = SetupDiGetClassDescriptionExW;     
     SetupDiGetClassDescription = SetupDiGetClassDescriptionW;     
     SetupDiGetClassDevPropertySheets = SetupDiGetClassDevPropertySheetsW;     
     SetupDiGetClassDevsEx = SetupDiGetClassDevsExW;     
     SetupDiGetClassDevs = SetupDiGetClassDevsW;     
     SetupDiGetClassImageListEx = SetupDiGetClassImageListExW;     
     SetupDiGetClassInstallParams = SetupDiGetClassInstallParamsW;     
     SetupDiGetClassRegistryProperty = SetupDiGetClassRegistryPropertyW;     
     SetupDiGetDeviceInfoListDetail = SetupDiGetDeviceInfoListDetailW;     
     SetupDiGetDeviceInstallParams = SetupDiGetDeviceInstallParamsW;     
     SetupDiGetDeviceInstanceId = SetupDiGetDeviceInstanceIdW;     
     SetupDiGetDeviceInterfaceDetail = SetupDiGetDeviceInterfaceDetailW;     
     SetupDiGetInterfaceDeviceDetail = SetupDiGetDeviceInterfaceDetailW;     
     SetupDiGetDeviceRegistryProperty = SetupDiGetDeviceRegistryPropertyW;     
     SetupDiGetDriverInfoDetail = SetupDiGetDriverInfoDetailW;     
     SetupDiGetDriverInstallParams = SetupDiGetDriverInstallParamsW;     
     SetupDiGetHwProfileFriendlyNameEx = SetupDiGetHwProfileFriendlyNameExW;     
     SetupDiGetHwProfileFriendlyName = SetupDiGetHwProfileFriendlyNameW;     
     SetupDiGetHwProfileListEx = SetupDiGetHwProfileListExW;     
     SetupDiGetINFClass = SetupDiGetINFClassW;     
     SetupDiGetSelectedDriver = SetupDiGetSelectedDriverW;     
     SetupDiInstallClassEx = SetupDiInstallClassExW;     
     SetupDiInstallClass = SetupDiInstallClassW;     
     SetupDiOpenClassRegKeyEx = SetupDiOpenClassRegKeyExW;     
     SetupDiOpenDeviceInfo = SetupDiOpenDeviceInfoW;     
     SetupDiOpenDeviceInterface = SetupDiOpenDeviceInterfaceW;     
     SetupDiOpenInterfaceDevice = SetupDiOpenDeviceInterfaceW;     
     SetupDiSetClassInstallParams = SetupDiSetClassInstallParamsW;     
     SetupDiSetClassRegistryProperty = SetupDiSetClassRegistryPropertyW;     
     SetupDiSetDeviceInstallParams = SetupDiSetDeviceInstallParamsW;     
     SetupDiSetDeviceRegistryProperty = SetupDiSetDeviceRegistryPropertyW;     
     SetupDiSetDriverInstallParams = SetupDiSetDriverInstallParamsW;     
     SetupDiSetSelectedDriver = SetupDiSetSelectedDriverW;     
     SetupDuplicateDiskSpaceList = SetupDuplicateDiskSpaceListW;     
     SetupFindFirstLine = SetupFindFirstLineW;     
     SetupFindNextMatchLine = SetupFindNextMatchLineW;     
     SetupFreeSourceList = SetupFreeSourceListW;     
     SetupGetBackupInformation = SetupGetBackupInformationW;     
     SetupGetFileCompressionInfo = SetupGetFileCompressionInfoW;     
     SetupGetFileCompressionInfoEx = SetupGetFileCompressionInfoExW;     
     SetupGetInfFileList = SetupGetInfFileListW;     
     SetupGetInfInformation = SetupGetInfInformationW;     
     SetupGetLineByIndex = SetupGetLineByIndexW;     
     SetupGetLineCount = SetupGetLineCountW;     
     SetupGetLineText = SetupGetLineTextW;     
     SetupGetMultiSzField = SetupGetMultiSzFieldW;     
     SetupGetSourceFileLocation = SetupGetSourceFileLocationW;     
     SetupGetSourceFileSize = SetupGetSourceFileSizeW;     
     SetupGetSourceInfo = SetupGetSourceInfoW;     
     SetupGetStringField = SetupGetStringFieldW;     
     SetupGetTargetPath = SetupGetTargetPathW;     
     SetupInitializeFileLog = SetupInitializeFileLogW;     
     SetupInstallFileEx = SetupInstallFileExW;     
     SetupInstallFilesFromInfSection = SetupInstallFilesFromInfSectionW;     
     SetupInstallFile = SetupInstallFileW;     
     SetupInstallFromInfSection = SetupInstallFromInfSectionW;     
     SetupInstallServicesFromInfSectionEx = SetupInstallServicesFromInfSectionExW;     
     SetupInstallServicesFromInfSection = SetupInstallServicesFromInfSectionW;     
     SetupIterateCabinet = SetupIterateCabinetW;     
     SetupLogError = SetupLogErrorW;     
     SetupLogFile = SetupLogFileW;     
     SetupOpenAppendInfFile = SetupOpenAppendInfFileW;     
     SetupOpenInfFile = SetupOpenInfFileW;     
     SetupPromptForDisk = SetupPromptForDiskW;     
     SetupQueryDrivesInDiskSpaceList = SetupQueryDrivesInDiskSpaceListW;     
     SetupQueryFileLog = SetupQueryFileLogW;     
     SetupQueryInfFileInformation = SetupQueryInfFileInformationW;     
     SetupQueryInfOriginalFileInformation = SetupQueryInfOriginalFileInformationW;     
     SetupQueryInfVersionInformation = SetupQueryInfVersionInformationW;     
     SetupQuerySourceList = SetupQuerySourceListW;     
     SetupQuerySpaceRequiredOnDrive = SetupQuerySpaceRequiredOnDriveW;     
     SetupQueueCopyIndirect = SetupQueueCopyIndirectW;     
     SetupQueueCopySection = SetupQueueCopySectionW;     
     SetupQueueCopy = SetupQueueCopyW;     
     SetupQueueDefaultCopy = SetupQueueDefaultCopyW;     
     SetupQueueDeleteSection = SetupQueueDeleteSectionW;     
     SetupQueueDelete = SetupQueueDeleteW;     
     SetupQueueRenameSection = SetupQueueRenameSectionW;     
     SetupQueueRename = SetupQueueRenameW;     
     SetupRemoveFileLogEntry = SetupRemoveFileLogEntryW;     
     SetupRemoveFromDiskSpaceList = SetupRemoveFromDiskSpaceListW;     
     SetupRemoveFromSourceList = SetupRemoveFromSourceListW;     
     SetupRemoveInstallSectionFromDiskSpaceList = SetupRemoveInstallSectionFromDiskSpaceListW;     
     SetupRemoveSectionFromDiskSpaceList = SetupRemoveSectionFromDiskSpaceListW;     
     SetupRenameError = SetupRenameErrorW;     
     SetupScanFileQueue = SetupScanFileQueueW;     
     SetupSetDirectoryIdEx = SetupSetDirectoryIdExW;     
     SetupSetDirectoryId = SetupSetDirectoryIdW;     
     SetupSetFileQueueAlternatePlatform = SetupSetFileQueueAlternatePlatformW;     
     SetupSetPlatformPathOverride = SetupSetPlatformPathOverrideW;     
     SetupSetSourceList = SetupSetSourceListW;     
{$else}

  const
     PSP_FILE_CALLBACK = PSP_FILE_CALLBACK_A;     
     SetupAddInstallSectionToDiskSpaceList = SetupAddInstallSectionToDiskSpaceListA;     
     SetupAddSectionToDiskSpaceList = SetupAddSectionToDiskSpaceListA;     
     SetupAddToDiskSpaceList = SetupAddToDiskSpaceListA;     
     SetupAddToSourceList = SetupAddToSourceListA;     
     SetupAdjustDiskSpaceList = SetupAdjustDiskSpaceListA;     
     SetupBackupError = SetupBackupErrorA;     
     SetupCommitFileQueue = SetupCommitFileQueueA;     
     SetupCopyError = SetupCopyErrorA;     
     SetupCopyOEMInf = SetupCopyOEMInfA;     
     SetupCreateDiskSpaceList = SetupCreateDiskSpaceListA;     
     SetupDecompressOrCopyFile = SetupDecompressOrCopyFileA;     
     SetupDefaultQueueCallback = SetupDefaultQueueCallbackA;     
     SetupDeleteError = SetupDeleteErrorA;     
     SetupDiBuildClassInfoListEx = SetupDiBuildClassInfoListExA;     
     SetupDiClassGuidsFromName = SetupDiClassGuidsFromNameA;     
     SetupDiClassGuidsFromNameEx = SetupDiClassGuidsFromNameExA;     
     SetupDiClassNameFromGuid = SetupDiClassNameFromGuidA;     
     SetupDiClassNameFromGuidEx = SetupDiClassNameFromGuidExA;     
     SetupDiCreateDeviceInfo = SetupDiCreateDeviceInfoA;     
     SetupDiCreateDeviceInfoListEx = SetupDiCreateDeviceInfoListExA;     
     SetupDiCreateDeviceInterface = SetupDiCreateDeviceInterfaceA;     
     SetupDiCreateInterfaceDevice = SetupDiCreateDeviceInterfaceA;     
     SetupDiCreateDeviceInterfaceRegKey = SetupDiCreateDeviceInterfaceRegKeyA;     
     SetupDiCreateInterfaceDeviceRegKey = SetupDiCreateDeviceInterfaceRegKeyA;     
     SetupDiCreateDevRegKey = SetupDiCreateDevRegKeyA;     
     SetupDiDeleteInterfaceDeviceData = SetupDiDeleteDeviceInterfaceData;     
     SetupDiEnumDriverInfo = SetupDiEnumDriverInfoA;     
     SetupDiGetActualSectionToInstall = SetupDiGetActualSectionToInstallA;     
     SetupDiGetActualSectionToInstallEx = SetupDiGetActualSectionToInstallExA;     
     SetupDiGetClassDescription = SetupDiGetClassDescriptionA;     
     SetupDiGetClassDescriptionEx = SetupDiGetClassDescriptionExA;     
     SetupDiGetClassDevPropertySheets = SetupDiGetClassDevPropertySheetsA;     
     SetupDiGetClassDevs = SetupDiGetClassDevsA;     
     SetupDiGetClassDevsEx = SetupDiGetClassDevsExA;     
     SetupDiGetClassImageListEx = SetupDiGetClassImageListExA;     
     SetupDiGetClassInstallParams = SetupDiGetClassInstallParamsA;     
     SetupDiGetClassRegistryProperty = SetupDiGetClassRegistryPropertyA;     
     SetupDiGetDeviceInfoListDetail = SetupDiGetDeviceInfoListDetailA;     
     SetupDiGetDeviceInstallParams = SetupDiGetDeviceInstallParamsA;     
     SetupDiGetDeviceInstanceId = SetupDiGetDeviceInstanceIdA;     
     SetupDiGetDeviceInterfaceDetail = SetupDiGetDeviceInterfaceDetailA;     
     SetupDiGetInterfaceDeviceDetail = SetupDiGetDeviceInterfaceDetailA;     
     SetupDiGetDeviceRegistryProperty = SetupDiGetDeviceRegistryPropertyA;     
     SetupDiGetDriverInfoDetail = SetupDiGetDriverInfoDetailA;     
     SetupDiGetDriverInstallParams = SetupDiGetDriverInstallParamsA;     
     SetupDiGetHwProfileFriendlyName = SetupDiGetHwProfileFriendlyNameA;     
     SetupDiGetHwProfileFriendlyNameEx = SetupDiGetHwProfileFriendlyNameExA;     
     SetupDiGetHwProfileListEx = SetupDiGetHwProfileListExA;     
     SetupDiGetINFClass = SetupDiGetINFClassA;     
     SetupDiGetSelectedDriver = SetupDiGetSelectedDriverA;     
     SetupDiInstallClass = SetupDiInstallClassA;     
     SetupDiInstallClassEx = SetupDiInstallClassExA;     
     SetupDiOpenClassRegKeyEx = SetupDiOpenClassRegKeyExA;     
     SetupDiOpenDeviceInfo = SetupDiOpenDeviceInfoA;     
     SetupDiOpenDeviceInterface = SetupDiOpenDeviceInterfaceA;     
     SetupDiOpenInterfaceDevice = SetupDiOpenDeviceInterfaceA;     
     SetupDiSetClassInstallParams = SetupDiSetClassInstallParamsA;     
     SetupDiSetClassRegistryProperty = SetupDiSetClassRegistryPropertyA;     
     SetupDiSetDeviceInstallParams = SetupDiSetDeviceInstallParamsA;     
     SetupDiSetDeviceRegistryProperty = SetupDiSetDeviceRegistryPropertyA;     
     SetupDiSetDriverInstallParams = SetupDiSetDriverInstallParamsA;     
     SetupDiSetSelectedDriver = SetupDiSetSelectedDriverA;     
     SetupDuplicateDiskSpaceList = SetupDuplicateDiskSpaceListA;     
     SetupFindFirstLine = SetupFindFirstLineA;     
     SetupFindNextMatchLine = SetupFindNextMatchLineA;     
     SetupFreeSourceList = SetupFreeSourceListA;     
     SetupGetBackupInformation = SetupGetBackupInformationA;     
     SetupGetFileCompressionInfo = SetupGetFileCompressionInfoA;     
     SetupGetFileCompressionInfoEx = SetupGetFileCompressionInfoExA;     
     SetupGetInfFileList = SetupGetInfFileListA;     
     SetupGetInfInformation = SetupGetInfInformationA;     
     SetupGetLineByIndex = SetupGetLineByIndexA;     
     SetupGetLineCount = SetupGetLineCountA;     
     SetupGetLineText = SetupGetLineTextA;     
     SetupGetMultiSzField = SetupGetMultiSzFieldA;     
     SetupGetSourceFileLocation = SetupGetSourceFileLocationA;     
     SetupGetSourceFileSize = SetupGetSourceFileSizeA;     
     SetupGetSourceInfo = SetupGetSourceInfoA;     
     SetupGetStringField = SetupGetStringFieldA;     
     SetupGetTargetPath = SetupGetTargetPathA;     
     SetupInitializeFileLog = SetupInitializeFileLogA;     
     SetupInstallFile = SetupInstallFileA;     
     SetupInstallFileEx = SetupInstallFileExA;     
     SetupInstallFilesFromInfSection = SetupInstallFilesFromInfSectionA;     
     SetupInstallFromInfSection = SetupInstallFromInfSectionA;     
     SetupInstallServicesFromInfSection = SetupInstallServicesFromInfSectionA;     
     SetupInstallServicesFromInfSectionEx = SetupInstallServicesFromInfSectionExA;     
     SetupIterateCabinet = SetupIterateCabinetA;     
     SetupLogError = SetupLogErrorA;     
     SetupLogFile = SetupLogFileA;     
     SetupOpenAppendInfFile = SetupOpenAppendInfFileA;     
     SetupOpenInfFile = SetupOpenInfFileA;     
     SetupPromptForDisk = SetupPromptForDiskA;     
     SetupQueryDrivesInDiskSpaceList = SetupQueryDrivesInDiskSpaceListA;     
     SetupQueryFileLog = SetupQueryFileLogA;     
     SetupQueryInfFileInformation = SetupQueryInfFileInformationA;     
     SetupQueryInfOriginalFileInformation = SetupQueryInfOriginalFileInformationA;     
     SetupQueryInfVersionInformation = SetupQueryInfVersionInformationA;     
     SetupQuerySourceList = SetupQuerySourceListA;     
     SetupQuerySpaceRequiredOnDrive = SetupQuerySpaceRequiredOnDriveA;     
     SetupQueueCopy = SetupQueueCopyA;     
     SetupQueueCopyIndirect = SetupQueueCopyIndirectA;     
     SetupQueueCopySection = SetupQueueCopySectionA;     
     SetupQueueDefaultCopy = SetupQueueDefaultCopyA;     
     SetupQueueDelete = SetupQueueDeleteA;     
     SetupQueueDeleteSection = SetupQueueDeleteSectionA;     
     SetupQueueRename = SetupQueueRenameA;     
     SetupQueueRenameSection = SetupQueueRenameSectionA;     
     SetupRemoveFileLogEntry = SetupRemoveFileLogEntryA;     
     SetupRemoveFromDiskSpaceList = SetupRemoveFromDiskSpaceListA;     
     SetupRemoveFromSourceList = SetupRemoveFromSourceListA;     
     SetupRemoveInstallSectionFromDiskSpaceList = SetupRemoveInstallSectionFromDiskSpaceListA;     
     SetupRemoveSectionFromDiskSpaceList = SetupRemoveSectionFromDiskSpaceListA;     
     SetupRenameError = SetupRenameErrorA;     
     SetupScanFileQueue = SetupScanFileQueueA;     
     SetupSetDirectoryId = SetupSetDirectoryIdA;     
     SetupSetDirectoryIdEx = SetupSetDirectoryIdExA;     
     SetupSetFileQueueAlternatePlatform = SetupSetFileQueueAlternatePlatformA;     
     SetupSetPlatformPathOverride = SetupSetPlatformPathOverrideA;     
     SetupSetSourceList = SetupSetSourceListA;
{$endif}
  { UNICODE  }
{$endif}
  { RC_INVOKED  }
}
{ C++ end of extern C conditionnal removed }
{.$include <poppack.h>}
{$endif}
  { _SETUPAPI_H_  }

implementation


end.
